Назад | Перейти на главную страницу

SSH: настройте ssh_config для использования определенного ключевого файла для определенного отпечатка пальца сервера

У меня есть логин на основе ключа для сервера. IP и DNS сервера могут измениться, поскольку он размещен на Amazon.

Есть ли способ настроить конфигурацию клиента ssh для использования определенного ключевого файла только для этого сервера, когда отпечаток сервера совпадает?

Другими словами: обычно серверам соответствуют IP или DNS в конфигурации клиента ssh. Я хочу сделать это по отпечатку пальца, потому что IP и DNS могут измениться.

Вы можете использовать подстановочные знаки в Host раздел в ~/.ssh/config. Если вы используете имя хоста EC2 для подключения к своим экземплярам, ​​должно работать следующее:

Host *.compute-1.amazonaws.com
    IdentityFile ~/.ssh/id_rsa.aws
    # If you don't want to verify host fingerprints because they change all the time
    CheckHostIP no
    StrictHostKeyChecking no
    UserKnownHostsFile /dev/null

Если вы используете IP-адреса, вам нужно будет найти правильные диапазоны IP-адресов и добавить соответствующие записи с подстановочными знаками для соответствия им.

Попробуйте, если это сработает для вас: добавьте в ~/.ssh/config подайте следующее:

Host alias_for_host_you_want_to_connect
HostName real_name_for_host_you_want_to_connect
CheckHostIP no
IdentityFile /path/to/your/keyfile
#StrictHostKeyChecking no

(закомментируйте последнюю строку, если все остальное не удается)