ssh 忽略 know_host 的方法

场景

现在有一个arm 的板卡,ssh 又旧 又残 ,不能用 公钥免密登录 ,所以使用 了 sshpass

但是 arm 的板卡 一重启 ,他的 认证 就变了 ,导致 我们ssh 会报

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 
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 the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is36:68:a6:e6:43:34:6b:82:d7:f4:df:1f:c2:e7:37:cc.
Please contact your system administrator.
Add correct host key in /u/xlian008/.ssh/known_hosts to get rid of this message.
Offending key in /u/xlian008/.ssh/known_hosts:2RSA host key for 135.1.35.130 has changed and you have requested strict checking.Host key verification failed.

这种错 ,然后 sshpass 命令 一旦出错, 就不能往后面走了 ,自动化到这就断掉了

一种方法 是 手动 将 这个ip 的 know_hosts 删除掉

ssh-keygen -R 172.18.175.246 ,但是这个不方便 ,每次连接前都要执行这个命令

解决方法就 是 忽略 know_hosts

命令如下

ssh root@172.18.175.246 -o "StrictHostKeyChecking=no" -o "UserKnownHostsFile /dev/null"

如果用 sshpass 就是这样

sshpass -v -p root ssh root@172.18.175.246 -o "StrictHostKeyChecking=no" -o "UserKnownHostsFile /dev/null"

如果嫌每次 ssh 都要输入 -o 这么多参数

也可以 在全局 配置

  1.手动删除修改known_hsots里面的内容;
  2.修改配置文件“~/.ssh/config”,加上这两行,重启服务器。

StrictHostKeyChecking no
UserKnownHostsFile /dev/null

posted @   ifnk  阅读(1600)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示