Если агент SSH работает, ssh пробует все ключи, загруженные в агент.
Если указана опция -i file
, ssh использует указанный ключ.
Если IdentityFile
установлен в командной строке или в ~/.ssh/config
, ssh использует указанный ключ. (Вы можете указать ключи для имени хоста или домена. См. Справочную страницу ssh_config(5)
.)
В противном случае он использует жестко закодированный список { id_ecdsa
, id_rsa
, id_dsa
} в каталоге ~/.ssh
.
Из них ssh-agent может быть наиболее удобным вариантом - он также устраняет необходимость каждый раз разблокировать закрытый ключ. Используйте ssh-add ~/.ssh/id_dsa
для загрузки ключа. Если агент не запущен, запустите его с помощью exec ssh-agent bash
или с помощью таких инструментов, как Keychain. (Обычно такие среды, как GNOME, Unity или Mac OS X, должны запускать агент автоматически.)
Если вы решили отказаться от использования ssh-agent и вам нужно использовать разные ключи для разных машин, вы можете отредактировать ~/.ssh/config
:
Host one.example.com
IdentityFile ~/.ssh/id_one
Host two.example.com
IdentityFile ~/.ssh/id_two
Host *.foo.org
IdentityFile ~/.ssh/id_foo.org
Обратите внимание, что имя файла не имеет абсолютно никакого значения для ssh ; он будет одинаково относиться к id_dsa
и id_asdfghjk
. Это означает, что вы можете назвать ключ RSA id_dsa
. Однако он не будет принимать два ключа в одном файле.