You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何阻止OpenSSH每次更新known_hosts时创建新文件?

如何阻止OpenSSH每次更新known_hosts时创建新文件?

这个问题我太感同身受了!之前把dotfiles放进Git仓库统一管理时,也踩过一模一样的坑——SSH每次更新known_hosts时的这套备份操作,直接把指向仓库文件的软链接搞废了,导致新的主机密钥根本同步不到版本库,完全违背了跨设备共享known_hosts的初衷。

其实OpenSSH本身就提供了关闭这个默认备份行为的配置,你只需要做这一步:

在你的个人SSH配置文件~/.ssh/config中添加一行:

BackupKnownHosts no

如果想让这个设置对系统所有用户生效,可以编辑全局配置文件/etc/ssh/ssh_config,找到BackupKnownHosts项,把默认的yes改成no即可。

这个配置的作用很直白:告诉SSH更新known_hosts时直接编辑原文件,不要创建known_hosts.old备份文件。这样你的软链接就不会被替换成普通文件,新的主机密钥会直接写入你Git仓库里的目标文件,之后正常执行git commit和push就能同步到其他设备了。

你可以改完配置后测试一下:连接一个新主机并接受密钥,看看是不是不会生成known_hosts.old了,同时去Git仓库里的文件里检查,新的主机条目已经正常写入了。

备注:内容来源于stack exchange,提问作者N. I.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 13:33:00