如何获取并验证你SSH密钥指纹
答案:1 悬赏:80
解决时间 2021-02-08 04:29
- 提问者网友:长安小才冯
- 2021-02-07 07:38
如何获取并验证你SSH密钥指纹
最佳答案
- 二级知识专家网友:孤伤未赏
- 2021-02-07 08:19
这种情况可能是由于中间人攻击导致,但更多的情况下,是因为主机被重建,生成了新的SSH密钥(所以大家重建服务器的时候要养成保存恢复SSH密钥的好习惯)。 那么,应该如何检查指纹? 你可以直接通过网络从远程服务器上获取公共密钥: ssh-keyscan -p 22 -t rsa,dsa remote_host > /tmp/ssh_host_rsa_dsa_key.pub #使用你的主机名或IP地址替换remote_host字段然后你就可以通过这个文件生成指纹: ssh-keygen -l -f /tmp/ssh_host_rsa_dsa_key.pub不过,如果你的密钥在其他因素下改变,而你想要探索它改变的原因,那么网络的方式是不够的。想办法通过其他方式登录到真机上(比如通过管理控制台或KVM控制台),然后直接生成指纹: ssh-keygen -lf /etc/ssh/ssh_host_dsa_key ssh-keygen -lf /etc/ssh/ssh_host_rsa_key然后,与你通过网络得到的指纹进行对比。如果它们匹配,那么万事ok;如果不匹配,那么你可能有麻烦了。 如果指纹不匹配,那么你应该先做一个针对ARP请求的网络扫描,看看有哪个IP地址回应了ARP请求。在ping的时候扫描一下看看有没有ARP请求。如果有两个主机,那么它们会为一个ARP条目而"互掐"起来,你应该能看到两个回应。 一旦你知道了这个神秘主机的以太网地址,就可以通过路由(或交换机)接口上跟踪到ARP流量的去处。 「有关SSH密钥指纹」 为了避免中间人(man-in-the-middle)攻击,管理员在通过SSH远程连接主机的时候,SSH会生成主机指纹并请求保存。服务器的管理员可以发送密钥指纹给客户端,来让其在首次登陆时验证服务器的真实性。在之后的连接中,都会验证与保存的指纹是否匹配。推荐给好友 我要收藏 我要纠错 分享到
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯