有没有办法暂时忽略我的~/.ssh/known_hosts文件?
mbp:~ alexus$ ssh 10.52.11.171
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Please contact your system administrator.
Add correct host key in /Users/alexus/.ssh/known_hosts to get rid of this message.
Offending RSA key in /Users/alexus/.ssh/known_hosts:155
RSA host key for 10.52.11.171 has changed and you have requested strict checking.
Host key verification failed.
mbp:~ alexus$
Run Code Online (Sandbox Code Playgroud)
笔记:
.. 通过一些回答/评论,我意识到我的问题有点误导,所以它很短,这是预期的行为),所以这是正常的(就我而言)背后有一个有效的理由说明为什么我想看“忽略它”)
小智 91
您可以使用暂时ssh -o StrictHostKeyChecking=no关闭检查known_hosts。但我建议不要这样做。您应该真正检查主机密钥更改的原因。
另一种选择是~/.ssh/config为相关主机添加特定条目。如果您有某个主机每次重新启动时都会生成新的主机密钥,并且每天因正当理由多次重新启动,那么这可能是有效的方法。
Host <your problematic host>
StrictHostKeyChecking no
Run Code Online (Sandbox Code Playgroud)
小智 59
要在 POSIX 环境中完全忽略已知的主机文件,请将GlobalKnownHostsFile和UserKnownHostsFile选项设置为/dev/null:
ssh -o GlobalKnownHostsFile=/dev/null -o UserKnownHostsFile=/dev/null user@host
设置该StrictHostKeyChecking=no选项将允许您连接,但 SSH仍会显示警告:
ssh -o StrictHostKeyChecking=no user@host
正如其他人所指出的,解决潜在问题可能更好。例如,您可以考虑使用SSH 证书身份验证来验证主机。
如果您重新安装了服务器并因此更改了标识,您应该删除指定的第 155 行/Users/alexus/.ssh/known_hosts并继续。
如果您在不同的专用网络之间切换,则应使用主机名进行连接,因为 ssh 客户端还将根据主机名保存密钥。将这样的内容添加到您的/etc/hosts:
10.52.11.171 server1
10.52.11.171 server2
Run Code Online (Sandbox Code Playgroud)
然后ssh server1在连接到子网 1 和连接到子网 2ssh server2时使用。这样,两台服务器就可以有不同的主机密钥。
| 归档时间: |
|
| 查看次数: |
91001 次 |
| 最近记录: |