我用什么命令查看我的服务器的ECDSA密钥指纹是什么?
我在Google上看到了关于如何查看RSA密钥指纹而不是ECDSA指纹的信息。
等等,我find了。 运行命令:
ssh-keygen -l -f /etc/ssh/ssh_host_ecdsa_key.pub
用最近的ssh(OpenSSH_6.0p1,OpenSSL 1.0.0j 2012年5月10日),我这样写:
ssh-keyscan -t ecdsa localhost 2>&1 | grep ecdsa localhost ecdsa-sha2-nistp256 AAAAE2VlongKey...=
笔记:
- 如果你的sshd在一个自定义的端口上运行,添加“
-p portNumber
”到ssh-keyscan
命令) -
ssh-keyscan
在stderr
写入,而不是stdout
(!),因此bash
redirect'2>&1
'(可以根据你的shell改变)
这是我添加到我的~/.ssh/known_hosts
文件的行,以便为我的testing(主要是使用ssh的gitolite )授权本地主机的ssh请求。
DanielBöhmer 在评论中证实:
ssh-keyscan
提供了SSH服务器的完整公钥ssh-keygen
的输出与公钥文件的格式几乎相同。
只要删除第一列(IP地址或主机名),并保存或ssh-keygen -l
到提供指纹的ssh-keygen -l
。
在我的系统上,我需要指定一个MD5密钥,而不是默认的SHA256:
ssh-keygen -l -E md5 -f /etc/ssh/ssh_host_ecdsa_key.pub
这会以与我在客户端上看到的错误相匹配的格式输出一个string。