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

19

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

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

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

Тибо Баррер
источник

Ответы:

8

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

oneodd1
источник
5
Этот ответ, кажется, был скопирован без указания авторства с сайта vitalvector.com/blog/2009/02/ssh-tip-hash-known-hosts.html
Martey
22

С открытым текстом 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.

quazgar
источник