Мне нужно настроить записи SSHFP в DNS для моего хоста. Я немного искал, но не нашел хорошего примера.
- Что такое записи SSHFP?
- Как выглядят записи SSHFP?
- Как мне создать записи SSHFP?
Записи SSHFP RR - это записи DNS, которые содержат отпечатки открытых ключей, используемых для SSH. Они в основном используются с доменами с поддержкой DNSSEC. Когда клиент SSH подключается к серверу, он проверяет соответствующую запись SSHFP. Если отпечаток записи соответствует серверам, сервер является законным и безопасным для подключения.
Записи SSHFP состоят из трех вещей:
Начиная с 2015 года в SSHFP определены четыре различных алгоритма . Каждый алгоритм представлен целым числом. Алгоритмы:
Начиная с 2012 года в SSHFP определены два типа отпечатков пальцев . Каждый тип отпечатка пальца представлен целым числом. Эти:
Вы можете использовать ssh-keygen
для генерации записей, используя -r
параметр, за которым следует имя хоста (которое не влияет на отпечатки пальцев, поэтому вы можете указать все, что вам нравится)
Использование ssh-keygen
и CentOS:
[root@localhost ~]# ssh-keygen -r my.domain.com
my.domain.com IN SSHFP 1 1 450c7d19d5da9a3a5b7c19992d1fbde15d8dad34
my.domain.com IN SSHFP 2 1 72d30d211ce8c464de2811e534de23b9be9b4dc4
Иногда ssh-keygen
будет спрашивать о местонахождении публичного сертификата. Если появится ssh-keygen
запрос , вам придется запускаться несколько раз и каждый раз указывать другой сертификат, чтобы убедиться, что вы сгенерировали все необходимые записи SSHFP. Ваши открытые ключи обычно находятся в /etc/ssh
.
DNS-аутентификация именованных объектов (DANE) ( RFC 6698 ) является потенциальным преемником SSHFP RR. DANE очень похож на SSHFP RR, но не ограничивается SSH. Вместо этогоон использует TLSA RR с очень похожим форматом.
ssh-keygen -r
также обрабатывает записи типа ed25519 (используя эксперимент № 4 от iana iana.org/assignments/dns-sshfp-rr-parameters/… )Я не уверен,
ssh-keygen
работает ли с существующими ключами. Если нет, вы все равно можете легко собрать их в своей оболочке (что я предпочитаю) и без шикарного программного обеспечения или удаленных интерфейсов.А записи, такие как упомянутые ...
... существует 6 частей:
Чтобы использовать это
VerifyHostKeyDNS ask
, обычно включайте конфигурацию вашего SSH-клиента~/.ssh/config
.источник
ssh-keygen -r
это генерировать SSHFP запись для существующих ключей , несмотря на то , что название команды наводит на мысль , что это только для порождающего.Более старые версии ssh-keygen не генерируют все доступные ключи (например, нет поддержки ecdsa и sha256). Этот скрипт создает все записи для всех доступных ключей в
/etc/ssh/
:Изменить: Новая версия с PR от alex-dupuy с поддержкой * BSD.
https://github.com/mindfuckup/Scripts/blob/master/sshfpgen
источник
Если вы используете Puppet,
facter
имеет встроенную поддержкуsshfp
. Кроме того, если вы используете PuppetDB, вы можете легко извлечь эту информацию для всех ваших хостов.Источник
источник
Вот как я получаю свои записи SSHFP через Ansible :
источник