Кажется, что openssh изменил способ отображения ключевых отпечатков пальцев.
Я пытаюсь SSH с клиентского компьютера на сервер:
- клиент: Ubuntu 14.04 под управлением OpenSSH 6.6.1
- сервер: FreeBSD под управлением OpenSSH 7.2p2.
Клиент сообщает md5-хэш ключа сервера как последовательность из 16 пар шестнадцатеричных цифр, например:
a7:b1:3e:3d:84:24:a2:5a:91:5f:6f:e9:cf:dd:2b:6a
По умолчанию сервер использует хеш sha256, но благодаря этому ответу я могу заставить его выдать хеш sha1, выполнив:
[root@host /etc/ssh]# ssh-keygen -l -E sha1 -f ssh_host_ecdsa_key.pub
Я хочу, чтобы результат выглядел так:
a7:b1:3e:3d:84:24:a2:5a:91:5f:6f:e9:cf:dd:2b:6a
но вместо этого я получаю это:
256 SHA1:KIh0ejR4O+RqrSq7JdGAASddRfI root@host.local (ECDSA)
Мне кажется, что теперь вместо шестнадцатеричных цифр отображается версия отпечатка пальца в кодировке base64.
Как я могу получить контрольную сумму ключа сервера в том же формате, который сообщал (более старый) клиент (шестнадцатеричные цифры, разделенные двоеточиями, хэш sha1), чтобы проверить, что они совпадают?
РЕДАКТИРОВАТЬ: старая версия SSH дает контрольную сумму md5 , а не контрольную сумму sha1, как я ошибочно думал. Использование этой контрольной суммы (как должен указывать принятый сейчас ответ) в опции -E дает желаемый результат.