我试图通过我的mac( ssh root@vpsXXX.ovh.net )上的terminal在OVH(unbuntu 16)上的云服务器上手动连接serverpilot,
操作失败了一次,现在,我正在尝试重新设置它我收到一条错误消息“警告:远程主机标识已更改!”
我在博客上读到,键入ssh-keygen -R hostname可能会解决这个问题,但是当我这样做时,我收到一条消息"Host hostname not found in /Users/GregMac/.ssh/known_hosts"
任何想法如何解决这个问题? (我是服务器configuration和commande线上的总新手……这就是为什么我指望serverpilot)
谢谢
自上次尝试访问在该主机上运行的SSH服务器以来,有一个文件已被更改。 那个文件是
/Users/whateveryourusernameis/.ssh/known_hosts
该文件中的某处是一个条目,只有一行,以您试图在[vpsXXX.ovh.net]括号内覆盖的主机开头。
如果您确定要尝试访问的服务器只是您自己更改和设置的服务器,则可以安全地删除该行并重试。
SSH是系统pipe理员最基本的工具, 它的工作原理值得您的关注。
当你联系一个SSH服务器时,服务器的第一步就是使用自己的公共主机密钥来显示SSH客户端。 这个密钥通常附加到客户端的~/.ssh/known_hosts文件中,这样如果这个密钥在不同的ssh会话之间改变,客户端将会被警告主机不再是它之前联系的原始主机。 这提醒你,你已经达到的主机可能是一个冒名顶替的事实,除非你已经毫无疑问地知道主机实际上已经改变了。
主机密钥是SSH协商过程的核心部分,您应该熟悉如果您pipe理任何系统。 这个密钥通常只会生成一次,第一次启动SSH服务器。 因此,如果您收到主机密钥已更改的警告,则会发生以下事件之一:
如果您在云环境中工作,则新机器映像和实例会一直交换以replace旧的机器映像和实例。 因此,删除警告并继续SSH到新主机的方法就是从~/.ssh/known_hosts文件中删除旧指纹。 根据最佳做法,最好在知道发生更换后立即将其删除,然后login一次以确认并存储新的主机密钥。
最后,尊重你的pipe理员,让他们知道发生了什么,这样他们就不会觉得有必要自己拉火警。
我发现了一个类似于你所做的页面 ,并且有一个关于新行为的提示,可能会将公钥主机的标识改变为我以前从来没有听说过的一些散列值,而不是[vpsXXX.ovh.net] ,它可能看起来像[BF8JDF9SS@67IX] 。 如果是这种情况,而且你没有编辑太多的话,你可以移动 known_hosts文件,通过ssh连接,然后用一行创build一个新文件。 该行将具有连接到的域或IP的正确哈希值,因此可以使用新创build的文件replace旧主机密钥。 将已编辑的known_hosts文件移回原处,并且已经为该连接更新了存储的公用主机密钥。