У меня есть несколько серверов с «да», а на других - «нет» (я обнаружил эту опцию только сегодня).
Преимущества HashKnownHosts no заключаются в том, что мне легче поддерживать файл known_hosts.
Каковы фактические преимущества использования HashKnownHosts? Да?
С открытым текстом 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.
Файл known_hosts представляет небольшую угрозу безопасности. Он содержит удобный список всех серверов, к которым вы подключаетесь. Злоумышленник, получивший доступ к вашему паролю или незашифрованному закрытому ключу, просто должен будет просмотреть список до тех пор, пока ваши учетные данные не будут приняты. Хеширование разрешает это или, по крайней мере, затемняет список.