Как настроить клиент SSH для автоматического использования закрытых ключей

10

Я всегда работаю sshс -iпараметром, и всегда сложно набрать правильный ключ для любого хоста, к которому я подключаюсь.

Есть ли файл конфигурации или что-то (на Mac), чтобы определить, какой закрытый ключ использовать при подключении к определенному хосту?

Leopd
источник

Ответы:

12

Да, вы хотите создать ~/.ssh/configфайл. Это позволяет вам определить имя хоста, имя пользователя, к которому вы хотите подключиться, и какой ключ использовать. Вот часть моего, с запутанными именами хостов:

Хост вкладки
     HostName tabs.com
     Пользователь меня
     IdentityFile ~ / .ssh / new_rsa

Хост scm.company.com
     Шапка пользователя
     IdentityFile ~ / .ssh / git_rsa

Хост проект-постановка
     HostName 50.56.101.167
     Пользователь меня
     IdentityFile ~ / .ssh / new_rsa

С этим я могу сказать, ssh tabsи подключиться к хосту tabs.com как пользователь me, с ключом new_rsa, как если бы я использовал ssh me@tabs.com -i ~/.ssh/new_rsa.

pjmorse
источник
Также хороший способ пойти, если вы не хотите использовать ssh-agentпо какой-либо причине.
voretaq7
Я не знал, что это возможно. +1
Сафадо
2

Клиенты SSH обычно используют ~/.ssh/identity(ssh v1) или один из ~/.ssh/id_rsaили ~/.ssh/id_dsa(v2) в качестве закрытого ключа по умолчанию. Вы можете изменить это в ~/.ssh/config( IdentityFileпараметр - -iопция для SSH фактически переопределяет это. См. man ssh_configПодробности).

Если у вас есть несколько закрытых ключей для использования ssh-agent, вероятно, это лучший выбор.
Смотрите man ssh-agentдля более подробной информации.

voretaq7
источник
+1 за описание значений по умолчанию и цитирование справочной страницы.
pjmorse
0

Если вы используете разные ключи для разных серверов, я не думаю, что есть.

Если вы используете один ключ для всех серверов, просто сохраните его как ~/.ssh/id_rsa, он будет использоваться автоматически.

Хьюберт Карио
источник