使用scp把本地服务器上的文件推送到阿里云服务器时遇到错误:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @WARNING:REMOTEHOSTIDENTIFICATIONHASCHANGED!@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ITISPOSSIBLETHATSOMEONEISDOINGSOMETHINGNASTY! Someonecouldbeeavesdroppingonyourightnow(man-in-the-middleattack)! Itisalsopossiblethatahostkeyhasjustbeenchanged. ThefingerprintfortheECDSAkeysentbytheremotehostis SHA256:b226rUj4dIMPdvutGRAVuPd3ZwQiCS13ab3RPl+pKO8. Pleasecontactyoursystemadministrator. Addcorrecthostkeyin/root/.ssh/known_hoststogetridofthismessage. OffendingECDSAkeyin/root/.ssh/known_hosts:1 removewith: ssh-keygen-f"/root/.ssh/known_hosts"-R39.116.118.163 ECDSAhostkeyfor39.116.118.163haschangedandyouhaverequestedstrictchecking. Hostkeyverificationfailed. lostconnection
原因:需要重新获取新的秘钥,这是由于,ssh连接服务器时,如果之前连接过,ssh会默认保存该ip的连接协议信息,当我们再次访问此ip服务器时,ssh会自动匹配之前ssh保存的信息,由于我们的服务器做了更改,例如重装系统等操作,会导致本地保存的ssh信息失效,于是再次连接时就会出现上述错误。
另外,远程服务器的ssh服务被卸载重装或ssh相关数据(协议信息)被删除也会导致这个错误。
解决方法:直接在终端上上输入命令: ssh-keygen -R ip地址
注意R是大写,不是小写,目的是清除你当前机器里关于你的远程服务器的缓存和公钥信息。
root@user-70DGA014CN:/var/lib/redis_7021#ssh-keygen-R39.116.118.163 #Host39.106.118.63found:line1 /root/.ssh/known_hostsupdated. Originalcontentsretainedas/root/.ssh/known_hosts.old root@user-70DGA014CN:/var/lib/redis_7021#scp-r7021dump_20191217.rdbroot@39.116.118.163:/home/chenxinming/rdb/ Theauthenticityofhost'39.116.118.163(39.116.118.163)'can'tbeestablished. ECDSAkeyfingerprintisSHA256:b226r123123Uj42dIMPd432vutGRAVuuPd3ZwQiCcS13ab3RPl+pKO8. Areyousureyouwanttocontinueconnecting(yes/no)?