问题原因
OpenSSH为避免受到DNS Hijack之类的攻击,会将访问过计算机的公钥(public key)都记录在~/.ssh/known_hosts。当下次访问相同计算机时,OpenSSH会核对公钥。如果公钥不同,OpenSSH会发出警告,即
Host key verification failed. lost connection 错误。
针对这个问题,有以下解决方案:
一、在执行ssh、scp命令时,添加 -o StrictHostKeyChecking=no 选项
ssh -o StrictHostKeyChecking=no root@$host
scp -o StrictHostKeyChecking=no root@$host:~/
二、清空know_hosts里的内容
本文探讨了OpenSSH在遇到DNS劫持等攻击时如何通过记录公钥来保护连接安全,以及当公钥发生变化时出现Hostkeyverificationfailed错误的原因。提供了两种解决方案:一是临时禁用严格的主机密钥检查;二是清除known_hosts文件内容。
2986

被折叠的 条评论
为什么被折叠?



