SSH Config игнорируется клиентом git

Я взаимодействую с двумя различными репозиториями git, обе из них – реализация GitLab.

Поскольку для доступа к ним я должен использовать разные пользователи (и электронную почту), я создал два ключа ssh: допустим, id_rsa_1 и id_rsa_2 . После этого я написал файл ~/.ssh/config чтобы указать, когда должен использоваться каждый файл id_rsa. Файл конфигурации:

 Host gitlab.host1.com-user1 HostName gitlab.host1.com User user1 IdentityFile ~/.ssh/id_rsa_1 Host gitlab.host2.com-user2 HostName gitlab.host2.com User user2 IdentityFile ~/.ssh/id_rsa_2 

Моя проблема – каждый раз, когда я использую git , этот файл config не учитывается. Он всегда ищет файл id_rsa.

Что не так в моем файле конфигурации? Является ли Host только персональным идентификатором или он учитывается при поиске git ключей?

Какой пользователь я должен предоставить? «git» или мой настоящий пользователь, зарегистрированный на каждом сервере?

Что действительно не так в моем файле config ? Заранее большое спасибо.

Запись Host – это шаблон, который соответствует тому, что вы запрашиваете при поиске ключей. Затем HostName – это тот, на котором фактически зарегистрирован хост, и по умолчанию используется значение для Host . Итак, вы могли бы сказать:

 Host gitlab.host1.com User user1 IdentityFile ~/.ssh/id_rsa_1 

Вы также можете указать gitlab.host1.com-user1 как хост, когда вы вызываете git, и он должен работать с вашей текущей конфигурацией.

Для получения дополнительной информации вы можете проверить man ssh_config .