从OpenSSH known_hosts文件条目生成SSHFPlogging

我有一个来自OpenSSH known_hosts文件的条目; 我想为此生成一个SSHFP资源logging。 我可以使用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指纹logging:

 $ 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

您可以从每个希望为ssh-keygen创buildSSHFPlogging的服务器生成logging。 或者源sshfp并从一个known_hosts文件创build它们。

这个脚本很好:

http://brmlab.cz/kb/sshfp.sh

它需要在/ etc / ssh中运行,或者在它执行之前将其编辑为cd。

尝试-r $ HOSTNAME作为第一个参数:

 $ ssh-keygen -r moppel -f ~/.ssh/id_dsa -g moppel IN TYPE44 \# 22 02 01 3950bf0c2cf2318b9ab2187992b6f7869947c3aa