如何强制 ssh 从命令行接受新的主机指纹?

2023-11-25

我得到了标准

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 is

错误信息。但是,执行命令(我认为是 sftp,这并不重要)的系统(Appworx)是自动化的,我无法轻易接受新密钥,即使在与第三方供应商核实这是有效的更改之后也是如此。我可以添加一个新的 shell 脚本,我可以从同一系统(和用户)执行该脚本,但似乎没有命令或命令行参数告诉 ssh 接受密钥。我在手册页或 Google 上找不到任何内容。这当然可能吗?


这里的答案是糟糕的建议。您永远不应该在任何现实系统中关闭 StrictHostKeyChecking(例如,如果您只是在自己的本地家庭网络上玩游戏,这可能没问题,但对于其他任何情况都不要这样做)。

而是使用:

ssh-keygen -R hostname

或者如果不使用默认端口 22:

ssh-keygen -R '[hostname]:port'

这将迫使known_hosts要更新的文件以仅删除已更新其密钥的一台服务器的旧密钥。

然后当你使用:

ssh user@hostname

它会要求您确认指纹 - 就像任何其他“新”(即以前未见过的)服务器一样。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何强制 ssh 从命令行接受新的主机指纹? 的相关文章

随机推荐