我有一个来自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它们。
尝试-r $ HOSTNAME作为第一个参数:
$ ssh-keygen -r moppel -f ~/.ssh/id_dsa -g moppel IN TYPE44 \# 22 02 01 3950bf0c2cf2318b9ab2187992b6f7869947c3aa