Создание записи SSHFP из записи файла OpenSSH known_hosts
У меня есть запись из OpenSSH known_hosts
файл; Я хотел бы создать запись ресурса SSHFP для этого. я могу использовать ssh-keygen
без труда создать отпечаток пальца:
$ ssh-keygen -f foo_known_host -l
1040 09:a0:5c:5f:43:fb:e5:25:d8:0c:d8:dc:d7:7a:c4:62 foo.example.com. (RSA)
Но это не похоже на запись DNS-отпечатка:
$ ssh-keygen -f foo_known_host -r foo
failed to read v2 public key from foo_known_host.
Так как мне это сделать?
3 ответа
ssh-keygen(1)
не ведет себя так же, как sshfp(1)
,
На странице руководства вы заметите, что синтаксис:
ssh-keygen -r hostname [-f input_keyfile] [-g]
Таким образом, файл должен быть input_keyfile
а не known_hosts_file
, Если вы не укажете, то по умолчанию будут использоваться локальные ключи сервера /etc/ssh/ssh_host_rsa_key.pub
а также /etc/ssh/ssh_host_dsa_key.pub
,
Вы можете сгенерировать запись на каждом сервере, для которого вы хотите создать записи SSHFP с помощью ssh-keygen
, Или источник sshfp
и создать их всех из одного known_hosts
файл.
Этот скрипт хорош:
Он должен быть запущен в /etc/ssh или отредактирован на cd, прежде чем он это сделает.
Попробуйте -r $HOSTNAME в качестве первого аргумента:
$ ssh-keygen -r moppel -f ~/.ssh/id_dsa -g
moppel IN TYPE44 \# 22 02 01 3950bf0c2cf2318b9ab2187992b6f7869947c3aa