2

Я хочу использовать разные файлы закрытого ключа для подключения к разным SSH-серверам (ssh://git-server:port/repository). Как это сделать? SSH, похоже, предполагает наличие файла закрытого ключа в ~/.ssh/id_rsa .

2 ответа2

3

Вот почему есть опция -i :

-i identity_file

Выбирает файл, из которого читается идентификатор (закрытый ключ) для аутентификации RSA или DSA. По умолчанию используется ~/.ssh/identity для версии протокола 1 и ~/.ssh/id_rsa и ~/.ssh/id_dsa для версии протокола 2.

Файлы идентификации также могут быть указаны для каждого хоста в файле конфигурации. Можно иметь несколько параметров -i (и несколько идентификаторов, указанных в файлах конфигурации).

Если вы хотите сделать это постоянным, вам нужно настроить конфигурационный файл SSH и установить соответствующий параметр IdentityFile.

IdentityFile

Указывает файл, из которого читается идентификационная информация аутентификации пользователя DSA, ECDSA или DSA. [...]

Если вы видите диалог, похожий на этот:

Вам необходимо ввести пароль пользователя для вашей учетной записи OS X. Не ваша ключевая фраза или пароль удаленного SSH. Это потому, что они не были сохранены в цепочке для ключей.

Согласно этому руководству, следующая команда должна добавить их соответствующим образом:

ssh-add -K
1

Самый простой способ сделать это с помощью конфигурационного файла ssh.

cat ~/.ssh/config

HOST *  
     USER root

Вы также можете указать определенные поддомены использования определенных пользователей. Полезно, если ваш ноутбук путешествует между сетями.

HOST 192.168.*.*
     USER homeuser

HOST 10.2.*.*
     USER workuser

Вы даже можете настраивать по доменам и использовать разные ключи ssh для разных доменов.

HOST *.microsoft.com
     USER bill
     IdentityFile ~/.ssh/microsoft/id_rsa

HOST *.apple.com
     USER steve
     IdentityFile ~/.ssh/apple/id_rsa

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .