Description
Значение по умолчанию: нет
Рекомендуемое значение: завести данную запись в DNS.
Область действия: вся система.
Подробнее: против ssh существует тип атаки -- подстановка ложного узла, когда вместо целевого узла соединение происходит с “поддельным”. При установлении соединения по протоколу Диффи-Хеллмана сервер посылает клиенту свой идентификатор -- ключ, по которому клиент может опознать сервер (обычно клиент хранит ассоциацию имя сервера -- ключ).
Указанная настройка решает проблему первого подключения к серверу, когда отпечаток сервера должен в теории передаваться по доверенному каналу. Одно из практичных решений данной проблемы -- поместить отпечаток ключа в запись DNS SSHFP, ассоциированную с данным узлом. Заведение данных записей осуществляется следующим образом:
# ssh-keygen -r host.name
host.name IN SSHFP 1 1 ee67ba4280cd8ad1c92d6da87a452a1efc691aa5
host.name IN SSHFP 1 2 \
129241cebf3bb68965941f8534ad14eeca7f57f408b206678352eec149526442
host.name IN SSHFP 2 1 cc28465ac6b0a844b8b3a130720c620d997bbbee
host.name IN SSHFP 2 2 \
1c08918a3ce8a9c97c3084ae287df390f82c0133f09d8640e59b7b7d5865bb56
host.name IN SSHFP 3 1 84c2e1ffc29f3c2f755ecf176424a6e8ad976842
host.name IN SSHFP 3 2 \
84d3c21e5da0129beb42c27b0c1eb5873d820495a3cb06422b97708f8dda881b
Данная команда сгенерирует набор SSHFP записей для DNS, которые необходимо поместить в соответствующую зону.
Для проверки наличия данной записи для клиента надо поместить директиву VerifyHostKeyDNS yes в конфигурационный файл клиента, либо напрямую использовать команду следующего вида
# ssh -o VerifyHostKeyDNS=yes test.net
Описание: RFC 4255: Using DNS to Securely Publish Secure Shell (SSH) Key Fingerprints.