当我做:
ssh -i id_rsa_something [email protected]
出现:
The authenticity of host '192.168.1.2 (192.168.1.2)' can't be established.
ECDSA key fingerprint is SHA256:ABCABC [fixed/changed].
Are you sure you want to continue connecting (yes/no)?
如果我写,yes
我可以通过 SSH 访问远程服务器。因此,到目前为止,远程连接的 SSH 配置均按预期工作。
现在,假设.ssh
目录中存在许多用于不同远程/程序访问的密钥对。我想确认使用了哪个密钥/对。
因此,现在,如果我这样做:
ssh-keygen -lf id_rsa_something.pub
出现:
2048 SHA256:XYZCYZ [fixed/changed] [email protected] (RSA)
指纹并不相同(SHA256:ABCABC
vs SHA256:XYZCYZ
),格式似乎不同(前者包括ECDSA
),但都显示并包括SHA256:xxxx
。这在某种程度上令人困惑 - 对此的解释值得赞赏
我确实在 Google 上进行了研究并尝试过:
ssh-keygen -E md5 -lvf id_rsa_something.pub
我得到了:
2048 MD5:e7:d1:... [email protected] (RSA)
因此尝试:
ssh-keygen -E ecdsa -lf id_rsa_something.pub
出现:
Invalid hash algorithm "ecdsa"
现在,我可以看到.ssh/known_hosts
添加了以下内容:
192.168.1.2 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNo...
它是在执行第一个命令后生成的。其中SHA256:ABCABC [fixed/changed]
和AAAAE2VjZHNhLXNo...
不同
即使:
ssh-keygen -E ecdsa-sha2-nistp256 -lf id_rsa_something.pub
出现:
Invalid hash algorithm "ecdsa-sha2-nistp256"
和
ssh-keygen -E sha256 -lvf id_rsa_something.pub
再次出现
2048 SHA256:XYZCYZ [fixed/changed] [email protected] (RSA)
问题:
因此可以ssh-keygen -E
用于展示并得到相同的显示的数据例如是ECDSA key fingerprint
或ecdsa-sha2-nistp256
?