У меня есть запись из 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.
Так как мне это сделать?
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