如何防止 OpenSSH 每次更新时都创建新的 known_hosts 文件?

如何防止 OpenSSH 每次更新时都创建新的 known_hosts 文件?

似乎每次我接受一个新的主机密钥时,ssh(我已经测试了 8.6p1 和 9.3p2)都会执行以下步骤:

  • 将文件移动known_hostsknown_hosts.old
  • 创建一个新known_hosts文件;
  • known_hosts.old将的内容复制到known_hosts
  • 将新条目添加到新的known_hosts

一切都很好,只是,像许多人一样,我将我的点文件置于版本控制之下。该known_hosts文件是指向我的 git 存储库中文件的链接。毕竟,如果我在桌面上接受了主机密钥,那么当我从笔记本电脑连接到同一主机时,我不想冒 MITM 的风险。毕竟,这就是 known_hosts 文件的全部意义所在。

上述 ssh 之后的程序运行效果不佳:在我接受新主机后,它就是known_hosts.old我版本控制文件的链接,而该文件永远不会更新。

我该如何告诉ssh他们停止创建known_hosts.old并直接编辑known_hosts?无论如何,我不需要这种粗略的备份方法 - 该文件已经在版本控制之下。我仔细阅读了 TFM,但没有找到任何这样的选项。

答案1

似乎它是在源代码中硬编码的,因此一个选择是重写它以满足您的需要(不推荐)。

相关内容