如何摆脱“远程主机标识已更改”消息

epa*_*van 13 ssh

我的计算机上安装了多个虚拟机,通过 ssh 连接到它们:

\n\n
ssh vm1@localhost\n
Run Code Online (Sandbox Code Playgroud)\n\n

或者

\n\n
ssh vm2@localhost\n
Run Code Online (Sandbox Code Playgroud)\n\n

因此,每次连接到不同的虚拟机时,我都需要编辑~/.ssh/known_hosts文件以删除: \xe2\x80\x9c WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!\xe2\x80\x9d 消息。

\n\n

有没有办法自动信任本地主机上的所有虚拟机?

\n

Que*_*tin 21

在您的配置(例如 ~/.ssh/config)中,您可以删除特定主机名的已知主机:

Host localhost
        HostName localhost
        UserKnownHostsFile=/dev/null
        StrictHostKeyChecking=no
Run Code Online (Sandbox Code Playgroud)

信用


meg*_*lon 11

您可以尝试修改该~/.ssh/known_hosts文件。

删除文件内的所有内容是一个选项**,您可以使用 nano 或您喜欢的编辑器来完成此操作。例如。:

nano ~/.ssh/known_hosts
Run Code Online (Sandbox Code Playgroud)

再次尝试连接,应该可以工作

ssh -i ~/.ssh/yourkey.pub vm1@localhost
Run Code Online (Sandbox Code Playgroud)

**尽管如此,如果您只删除与冲突相关的行,这将是一个很好的做法。