在日常使用Linux的时候,希望连接远端的某个机器或者希望给远端的某个机器传输文件的时候,我们一般会使用:ssh / scp,这样的命令。

经常的,我们会遇到如题所示的错误。

具体如下:
比如,我在99的机器,我希望给47传输一个YUM的源文件:

对,就是这个错误。
其实提示中已经说明了问题的原因:

对于SSH这种协议来说,每次连接一个陌生的(就是从没连接过的)机器的时候,都会在用户家目录下面创建一个文件【~/.ssh/known_hosts】,并记录:主机名或者IP(看你SSH的时候写的是IP还是主机名)和一串秘钥的信息(RSA的私钥)
如下:

而不同的机器的秘钥是不一样的,所以,将同样的IP或者主机名指向了一台不同的机器的时候,就会出现秘钥对不上,然后报如题所示的错误了。

解决方法,删掉【known_hosts】中的对应记录,让SSH自动添加最新的记录信息:

删除:

已删除。

重新SSH,让协议自动创建最新的记录信息:

可以看到,传输成功。

看看生成的新的记录:

对比一下和之前的差异:

至此,该问题说明清楚了。

————————————————
Done。

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

隐藏
变装