当我尝试清理 iMac(macOS Monterey 12.1)上的 SSH 配置和密钥文件时,我尝试使用详细标志 (-v) 进行 SSH。生成的输出包括以下几行:
...
debug1: load_hostkeys: fopen /Users/clint/.ssh/known_hosts2: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts2: No such file or directory
...
我知道我曾尝试创建我的known_hosts文件的备份(并将其命名为“known_hosts2”),但我后来将其删除了。
有人知道我怎样才能找出为什么 SSH 仍然引用(并且认为我有)一个名为“known_hosts2”的旧文件?
谢谢!
答案1
openssh 中 ssh 的默认配置已UserKnownHostsFile
设置为~/.ssh/known_hosts
和。~/.ssh/known_hosts2
。配置与 类似,GlobalKnownHostsFile
只是它会查找/etc/ssh
手册页中显示的这些文件(https://www.man7.org/linux/man-pages/man5/ssh_config.5.html)。因此 openssh ssh 默认检查这 4 个文件,也就是您在 中看到的ssh -v
。
我不确定 MacOS SSH 的配置(和实现)与 openssh 默认有何不同,但至少在这种情况下它们的行为似乎相同。
答案2
要修复$HOME/.ssh/known_hosts2: No such file or directory
,您可以将一个文件添加UserKnownHostsFile
到您的 SSH 配置中,例如:
UserKnownHostsFile ~/.ssh/known_hosts
要修复/etc/ssh/ssh_known_hosts: No such file or directory
和/etc/ssh/ssh_known_hosts2: No such file or directory
,您可以将文件添加GlobalKnownHostsFile
到 SSH 配置中,例如:
GlobalKnownHostsFile /dev/null