背景:
测试机被重新安装后,再次互相传输文件时报错:
ECDSA host key "ip地址" for has changed and you have requested strict checking
理解:
known_hosts文件是SSH客户端中的一个重要配置文件。
当首次与一个SSH服务器建立连接时,客户端会记录下该服务器返回的的公钥,并保存在known_hosts文件中。
以后每次连接该服务器时,客户端都会验证该服务器返回的公钥是否与known_hosts文件中保存的一致。
如果不一致,则会发出警告,提示可能存在DNS劫持、中间人攻击等安全问题。
解决方法:
ssh-keygen -R "你的远程服务器IP地址"
ssh-keygen -R "192.168.0.14"
或编辑 ~/.ssh/known_hosts 文件,将目标ip公钥信息删除后保存即可。
再次使用scp传输成功:
因此,known_hosts文件可以保证SSH连接的安全性,防止恶意攻击。