使用scp把本地服务器上的文件推送到阿里云服务器时遇到错误:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that a host key has just been changed. The fingerprint for the ECDSA key sent by the remote host is SHA256:b226rUj4dIMPdvutGRAVuPd3ZwQiCS13ab3RPl+pKO8. Please contact your system administrator. Add correct host key in /root/.ssh/known_hosts to get rid of this message. Offending ECDSA key in /root/.ssh/known_hosts:1 remove with: ssh-keygen -f "/root/.ssh/known_hosts" -R 39.116.118.163 ECDSA host key for 39.116.118.163 has changed and you have requested strict checking. Host key verification Failed. lost connection
原因:需要重新获取新的秘钥,这是由于,ssh连接服务器时,如果之前连接过,ssh会默认保存该ip的连接协议信息,当我们再次访问此ip服务器时,ssh会自动匹配之前ssh保存的信息,由于我们的服务器做了更改,例如重装系统等操作,会导致本地保存的ssh信息失效,于是再次连接时就会出现上述错误。
另外,远程服务器的ssh服务被卸载重装或ssh相关数据(协议信息)被删除也会导致这个错误。
解决方法:直接在终端上上输入命令: ssh-keygen -R ip地址
注意R是大写,不是小写,目的是清除你当前机器里关于你的远程服务器的缓存和公钥信息。
root@user-70DGA014CN:/var/lib/redis_7021# ssh-keygen -R 39.116.118.163 # Host 39.106.118.63 found: line 1 /root/.ssh/known_hosts updated. Original contents retained as /root/.ssh/known_hosts.old root@user-70DGA014CN:/var/lib/redis_7021# scp -r 7021dump_20191217.rdb root@39.116.118.163:/home/chenxinming/rdb/ The authenticity of host '39.116.118.163 (39.116.118.163)' can't be established. ECDSA key fingerprint is SHA256:b226r123123Uj42dIMPd432vutGRAVuuPd3ZwQiCcS13ab3RPl+pKO8. Are you sure you want to continue connecting (yes/no)?