Как извлечь отпечатки пальцев из .ssh / known_hosts?

20764
phyzome

У моего ноутбука хорошо заполненный ~/.ssh/known_hostsфайл. Я хотел бы использовать это при подключении к удаленным хостам с моего рабочего стола, так как отслеживание отпечатков пальцев может быть настоящей рутиной. Тем не менее, я не могу найти способ спросить ssh-keygenили ssh-keyscanсказать мне местный отпечаток для известных хостов. Есть идеи?

61
Не могли бы вы скопировать это? cpast 11 лет назад 1

1 ответ на вопрос

84
slm

Try this command:

% ssh-keygen -l -f ~/.ssh/known_hosts 2048 c2:e7:c0:9f:cd:c8:54:88:ac:b3:6b:a6:51:73:2b:e3 mach1,192.168.1.3 (RSA) 2048 a2:5e:8c:4e:2e:be:be:eb:23:12:5e:fe:6c:4b:23:dd mach2,192.168.1.1 (RSA) 1024 ae:5f:bc:e3:33:c3:dd:45:1e:18:1a:46:d1:d6:d2:39 mach3,192.168.1.6 (RSA) ... ... 

just want a single host:

% ssh-keygen -l -f ~/.ssh/known_hosts -F mach1 2048 c2:e7:c0:9f:cd:c8:54:88:ac:b3:6b:a6:51:73:2b:e3 mach1 (RSA) 

Resources

http://www.gossamer-threads.com/lists/openssh/users/49503

Спасибо! Я не знал, что вы можете использовать `-l` с файлом known_hosts. Вот версия, которая еще лучше отвечает на мой вопрос: `ssh-keygen -l -f ~ / .ssh / known_hosts -F example.com` phyzome 11 лет назад 8
Рад, что это помогло. 2 головы лучше одной 8-). slm 11 лет назад 0
Между прочим, причина -F важна для меня в том, что любая установленная версия SSH хэшировала все имена хостов в файле known_hosts. Я не могу просто найти нужную мне строку. (Это полезная мера безопасности, если кто-то когда-нибудь получит мой закрытый ключ - они с меньшей вероятностью выяснят, на какие машины он может их получить.) phyzome 11 лет назад 3
Стоит отметить, что в последних версиях openssh по умолчанию используется хеш SHA256. Чтобы получить более старый хэш md5, используйте опцию `-E md5`. JumperPunk 9 лет назад 11
И если используется нестандартный порт: `[example.com]: 1234` phyzome 8 лет назад 3
Еще +1. Это то, что я искал "как вы проверяете отпечаток пальца удаленного ssh-сервера на клиентском компьютере" ..... или "как ssh-клиент узнает, что отпечаток удаленного сервера изменился" CppLearner 6 лет назад 1
Чтобы получить отпечатки ключей хоста для сервера SSH (замените пример IP на IP или имя хоста вашего сервера): `ssh-keyscan 123.123.12.34 | ssh-keygen -l -f -` TrinitronX 6 лет назад 2

Похожие вопросы