Я хотел бы видеть, какие хосты есть в моем файле known_hosts, но он не кажется читаемым человеком. Можно ли это прочитать?
Более конкретно, есть хост, к которому я могу подключиться через несколько имен, и я хочу узнать, какой отпечаток я ожидаю от него из моего известного файла hosts.
Обновление: я использую OpenSSH_5.3p1 Debian-3ubuntu7, OpenSSL 0.9.8k 25 марта 2009 г.
Строка из моего файла known_hosts выглядит примерно так:
|1|guO7PbLLb5FWIpxNZHF03ESTTKg=|r002DA8L2JUYRVykUh7jcVUHeYE= ssh-rsa AAAAB3NzaC1yc2EAAFADAQABAAABAQDWp73ulfigmbbzif051okmDMh5yZt/DlZnsx3DEOYHu3Nu/+THJnUAfkfEc1XkOFiFgbUyK/08Ty0K6ExUaffb1ERfXXyyp63rpCTHOPonSrnK7adl7YoPDd4BcIUZd1Dk7HtuShMmuk4l83X623cr9exbfm+DRaeyFNMFSEkMzztBYIkhpA2DWlDkd90OfVAvyoOrJPxztmIZR82qu/5t2z58sJ6Jm2xdp2ckySgXulq6S4k+hnnGuz2p1klviYCWGJMZfyAB+V+MTjGGD/cj0SkL5v/sa/Fie1zcv1SLs466x3H0kMllz6gAk0/FMi7eULspwnIp65g45qUAL3Oj
Ответы:
В вашем файле
HashKnownHosts
установлено значение "yes
"ssh_config
, поэтому имена хостов не доступны в виде открытого текста.Если вы заранее знаете имя хоста, который вы ищете, вы можете найти его с помощью:
Вот соответствующий раздел со
ssh-keygen(1)
страницы руководства :источник
22
, то формат вknown_hosts
отличается. Затем вы должны использовать следующую команду:ssh-keygen -H -F [host.example.com]:2222
Для будущих пользователей эта статья (без оговорок: я не аффилирован) содержит сравнительно простой Perl-скрипт для хэшированных IP-адресов и имен хостов
known_hosts
.http://blog.rootshell.be/2010/11/03/bruteforcing-ssh-known_hosts-files/
Это позволяет начать с определенного IP-адреса. Он также может быть легко изменен для использования словаря.
Кроме того, в июне 2014 года в проекте John the Ripper была добавлена поддержка взлома known_hosts , который может использовать преимущества нескольких ядер ЦП, графических процессоров, перебора словаря и т. Д.
Вы также можете использовать этот фрагмент nmap для создания словаря всех IP-адресов RFC1918 для использования в качестве словаря:
источник
Помогает
ssh-keygen -l -f ~/.ssh/known_hosts
? (Используя-v
вы также получите хорошие карты сокровищ, например,источник
ssh-keygen -l -f ~/.ssh/known_hosts -F <hostname>
ssh-keygen -l -F <hostname>
ещеВ начале каждой строки «known_hosts» (перед строкой «ssh-dss» или «ssh-rsa») находится строка хоста / ip:
источник
awk '{print $1}' known_hosts
делает трюк. Имейте в виду, что серверы, прослушивающие нестандартные порты, в конечном итоге, скажем,[some-server]:5555
вknown_hosts
.Используйте
-l
опцию дляssh-keygen
отображения отпечатков пальцев и-F
опцию поиска имени хоста в вашемknown_hosts
файле.Вы можете использовать,
ssh-keyscan
чтобы сравнить отпечаток пальца в вашемknown_hosts
с отпечатком с сервера.источник