Всем привет!
Жестко туплю, но никак не могу понять. Есть у меня cygwin терминал на виндовой машине - babun. В нем есть ssh ключи, там же есть git. SSH ключей у меня несколько, мне так удобней - для разных серверов разные ключи.
В PhpStorm настроил git, теперь хочу использовать авторизацию по ключам. Каким-то мне непонятным образом Phpstorm сам подхватывает ключ из директории .ssh/ и именно тот который стоковый - id_rsa, а мне нужен для подключения к gitlab использовать другой ключ - x_id_rsa допустим. Почитал в интернетах, добавил в бабуне в директорию .ssh/ файл config с таким содержимым (мб в нем накосячил, ибо смутно понимаю как он точно должен работать):
host gitlab
HostName gitlab.com
IdentityFile ~/.ssh/x_id_rsa
User git@gitlab.com
Но всё равно phpstorm ищет id_rsa когда пытаюсь запушить на gitlab сервер:
-------------------------------
Решил проблему, прочитав повторно этот мануал:
https://bensch.be/phpstorm-and-git-ssh-keys
А именно эти строки:
The two things you can do to fix this are:
1) copy the public and private key-pair you'd like PhpStorm to use to id_rsa.pub and id_rsa respectively
or
2) Rename the "Host" entry in ~/.ssh/config to actually match the domain in the project's .git/config file
Также интересна статья, которую привел
seriogja - увидел сброс кеша ключей там и просмотр кешированных. В принципе не надо мне это было раньше, буду знать =)
Дальше что касается моих проблем.
1) в .ssh/config строка
Host gitlab.com
должна включать
в точности тот хост, к которому коннектится Git (не просто gitlab или AnyName, а именно gitlab.com)
2) в .ssh/config строка
IdentityFile ~/.ssh/x_id_rsa
сперва у меня всё было корректно там - с указанием относительного пути. Потом методом тыка пытался её привести к виду /home/MyName/.ssh/x_id_rsa, что, видимо, было неверно
3) user для gitlab должен быть git@gitlab.com
Никаких махинаций с настройками PhpStorm не нужно. В .git/config внутри проекта тоже всё ок в стоковом варианте (по незнанию я там добавлял раздел [user])