Формат вывода OpenBSD "ssh-keygen -l" изменился в 5.7. Как проверить ключ хоста при подключении из старых версий ssh?
До OpenBSD 5.6 формат вывода отпечатка host_keys был следующим:
# ssh-keygen -lf ssh_host_ecdsa_key.pub
256 9d:76:ba:86:80:ef:63:eb:41:2f:13:f3:f4:b5:0b:35 [email protected] (ECDSA)
В OpenBSD 5.7 формат вывода изменился:
# ssh-keygen -lf ssh_host_ecdsa_key.pub
256 SHA256:6vYsd91sIrtVqPXazpPfRxj9QDa+1+Ns2C2lKSUph3c [email protected] (ECDSA)
При подключении с ssh-клиента OpenBSD5.7 к sshd OpenBSD5.7 возможна проверка:
# ssh localhost
The authenticity of host 'localhost (127.0.0.1)' can't be established.
ECDSA key fingerprint is SHA256:6vYsd91sIrtVqPXazpPfRxj9QDa+1+Ns2C2lKSUph3c.
Are you sure you want to continue connecting (yes/no)?
Как проверить отпечатки ключей при подключении с OpenBSD 5.6 на машину OpenBSD 5.7? Есть ли способ преобразовать выходной формат?
решение1
В OpenBSD 5.7 ssh-keygen использует SHA256 для хэша отпечатка пальца по умолчанию.
Вам нужен MD5-хеш отпечатка пальца:
# ssh-keygen -l -E md5 -f /etc/ssh/ssh_host_ecdsa_key.pub