У меня есть некоторые серверы с "да", некоторые другие с "нет" (я обнаружил эту опцию только сегодня).

Преимущества HashKnownHosts no заключаются в том, что мне легче поддерживать файл known_hosts.

Каковы фактические преимущества использования HashKnownHosts да?

answer

Файл known_hosts представляет небольшую угрозу безопасности. Он содержит удобный список всех серверов, к которым вы подключаетесь. Злоумышленнику, получившему доступ к вашему паролю или незашифрованному закрытому ключу, просто нужно будет просмотреть список, пока ваши учетные данные не будут приняты. Хэширование решает эту проблему или, по крайней мере, запутывает список.

С открытым текстом known_hostsзлоумышленники легко узнают, к каким серверам вы подключаетесь. Есть статья и документ MIT о потенциальном черве ssh, использующем читаемый файл known_hosts. Конечно, обычно существуют другие, еще более громоздкие способы определения ваших ежедневных входов в систему по ssh, например история вашей оболочки, которые может использовать злоумышленник.

Обратите внимание, что вы все еще можете работать со своим хэшем known_hostsс помощью ssh-keygenутилиты:

ssh-keygen -F myhost         # shows myhosts's line in the known_hosts file
ssh-keygen -l -F myhost      # additionally shows myhost's fingerprint
ssh-keygen -R myhost         # remove myhost's line from known_hosts

Этой, особенно последней команды, должно быть достаточно в 99% случаев, когда пользователям действительно нужен доступ к файлам known_hosts. Конечно, вы потеряете завершение вкладки хоста ssh.

Также обратите внимание, что параметры командной строки чувствительны к ssh-keygenрегистру .

Также есть актуальный вопрос на unix.SE.