ssh
имеет -i
опция сказать, который файл секретных ключей использовать при аутентификации:
-i identity_file
Выбирает файл, из которого читаются идентификационные данные (закрытый ключ) для RSA или аутентификации DSA. значение по умолчанию
~/.ssh/identity
для версии протокола 1, и~/.ssh/id_rsa
и~/.ssh/id_dsa
для версии протокола 2. файлы Идентификационных данных может также быть указан на основе на хост в конфигурационном файле. Возможно иметь несколько-i
опции (и несколько идентификационных данных, указанных в конфигурационных файлах).
Есть ли похожий способ сказать git
какой файл секретных ключей использовать в системе с несколькими закрытыми ключами в ~/.ssh
каталог?
В ~/.ssh/config
, добавьте:
host github.com
HostName github.com
IdentityFile ~/.ssh/id_rsa_github
User git
Теперь можно сделать git clone git@github.com:username/repo.git
.
Примечание: Проверьте, что полномочия на IdentityFile 400. SSH отклонит не явно явным способом, ключи SSH, которые слишком читаемы. Это будет просто похоже на учетное отклонение. Решение, в этом случае:
chmod 400 ~/.ssh/id_rsa_github
Запишите сценарий, который звонит ssh
с аргументами Вы хотите и вставляете имя файла сценария $GIT_SSH
. Или просто вставленный в Вашу конфигурацию ~/.ssh/config
.