Укажите конфигурацию SSH для репозитория Git - PullRequest
2 голосов
/ 19 октября 2011

В Mercurial я могу указать команду (и, следовательно, сертификат), используемую для SSH для каждого репозитория в .hg/hgrc, например:

[ui]
...
ssh = "C:\path\to\ssh.exe" -i "C:\Development\Identities\identity1.id_rsa"

Большинство инструкций, которые я могу найти при настройке Git, похожеиспользуйте прилагаемый ssh.exe для управления сертификатами, например руководство GitHub для Windows .Существует способ указать сценарий, который Git будет использовать для SSL ( здесь в разделе «Нет поддерживаемых методов аутентификации») через переменную среды, но для каждого пользователя и недостаточно детализирован для меня.

Как мне указать командную строку SSH для репозитория в Git?

1 Ответ

3 голосов
/ 19 октября 2011

Я не знаю, как заставить git сделать это.Но ssh должен быть достаточно гибким, чтобы сделать это вместо этого.

Сначала обратите внимание, что вы можете указать более одного файла идентификации.Он будет проверять несколько идентификаторов по очереди, пока один из них не будет принят.

Во-вторых, в Unix, если вы хотите, чтобы только определенные идентификаторы были проверены для определенных хостов, вы можете сделать это, изменив ~/.ssh/config, чтобы иметь такие строфыas:

Host <hostname>
     IdentitiesOnly yes
     IdentityFile "C:\Development\Identities\identity1.id_rsa"

Хотя я не знаю, сработает ли это для вашего ssh-клиента в комплекте с Windows или куда идет файл конфигурации, если это так.

РЕДАКТИРОВАТЬ: если вы хотитеиспользовать два разных идентификатора на одном и том же хосте, это тоже можно сделать:

Host <alias1>
     HostName <realhostname>
     IdentiesOnly yes
     IdentityFile identity1


Host <alias2>
     HostName <realhostname>
     IdentiesOnly yes
     IdentityFile identity2

и использовать и как хосты в git (существует существенная поддержка, чтобы рассматривать один хост как другой или дажеболее сильное переписывание с параметрами конфигурации, такими как url.<base>.insteadOf.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...