Назад | Перейти на главную страницу

Почему я должен использовать «HashKnownHosts yes» в ssh_config?

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

Преимущества 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 представляет небольшую угрозу безопасности. Он содержит удобный список всех серверов, к которым вы подключаетесь. Злоумышленник, получивший доступ к вашему паролю или незашифрованному закрытому ключу, просто должен будет просмотреть список до тех пор, пока ваши учетные данные не будут приняты. Хеширование разрешает это или, по крайней мере, затемняет список.