如何处理 ssh 的“警告:远程主机标识已更改!”?

如何处理 ssh 的“警告:远程主机标识已更改!”?

可能重复:
忽略某些地址的 SSH 已知主机安全性

我经常需要登录多个远程站点,这些站点对我来说都只是被放置到相同的静态 IP。在这种情况下,SSH 会抱怨密钥已更改:

$ ssh [email protected]
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
...
Offending RSA key in /home/vi/.ssh/known_hosts:70
...

我通常只是运行vim /home/vi/.ssh/known_hosts +70dd wq然后重新运行 SSH 命令。

怎么做比较简单?

要求:

  1. 应该显示警告,而不是像这样:

    The authenticity of host '172.1.2.3 (172.1.2.3)' can't be established.
    
  2. 很容易接受关键的改变。

我期望这样的事情:

$ ssh [email protected]
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
...
The fingerprint for the RSA key sent by the remote host is
82:cd:be:7a:ae:1b:91:2c:23:c1:74:4d:8a:38:10:32.
Change the host key in /home/vi/.ssh/known_hosts (yes/no)? yes
Warning: Changed host key for '172.1.2.3' (RSA) in the list of known hosts.
[email protected]'s password:

简单并且不同于通常的“无法确定主机的真实性。”消息。

答案1

为了稍微解决这个问题,您可以使用ssh-keygen -R ip删除该 IP 存储的密钥。

或者,您可以将 ssh 别名为类似这样的东西ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no,它不会抱怨或要求验证。StrictHostKeyChecking=no如果您仍想看到它并验证它,请删除。

相关内容