关闭known_hosts警告提示
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ 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
SHA256:iZb2xo0/KmYZumRL0eN+9hFvcXbYLsW0HQ15hgSKLys.
Please contact your system administrator.
Add correct host key in /Users/xxx/.ssh/known_hosts to get rid of this message.
Offending RSA key in /Users/xxx/.ssh/known_hosts:397
RSA host key for 192.168.1.1 has changed and you have requested strict checking.
Host key verification failed.
在需要登录多个相同内网ip主角的时候经常会提示known_hosts的问题,这个时候需要打开文件删除此ip的指纹信息再重新登录,此警告本身是出于安全考虑,避免被中间人攻击,但是有些时候我们需要登录一些普通的内网主机,它们的ip基本就是那么几个,如192.168.1.1等,有什么办法仅针对这几个特殊主机关闭指纹的检查呢。
1.临时指定参数
ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null root@192.168.1.1
2.创建配置文件
不要修改系统默认的配置文件(/etc/ssh/ssh_config)
建议在用户目录下创建独立的配置文件 ~/.ssh/config
Host 192.168.0.*
StrictHostKeyChecking no
UserKnownHostsFile=/dev/null
Host 192.168.*
StrictHostKeyChecking no
UserKnownHostsFile=/dev/null
Host 172.16.10.3
StrictHostKeyChecking no
UserKnownHostsFile=/dev/null
按照上面的格式配置即可,使用通配符可以指定某个网段的主机禁用检查。没有此文件直接在用户目录创建文件即可,其它配置选项可以直接添加,会覆盖默认配置的选项。
当频繁登录特定内网IP时,SSH的known_hosts警告可能会变得繁琐。为了解决这个问题,可以采用临时指定参数或者创建SSH配置文件来关闭指纹检查。临时解决方案是通过`ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null root@192.168.1.1`命令登录,而长期解决方案则是在用户目录下创建`.ssh/config`文件,并针对特定IP或网段禁用检查。例如,可以设置`Host 192.168.*`来忽略192.168网段的主机指纹检查。

397

被折叠的 条评论
为什么被折叠?



