为什么 SSH 认为我仍然有“known_hosts2”文件?

Cli*_*ski 10 ssh mac-osx known-hosts

在尝试清理 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
...
Run Code Online (Sandbox Code Playgroud)

我知道我尝试创建known_hosts 文件的备份(并将其称为“known_hosts2”),但后来我删除了它。

有谁知道我如何找出为什么 SSH 仍然引用(并认为我拥有)一个名为“known_hosts2”的旧文件?

谢谢!

小智 6

openssh 中 ssh 的默认配置已UserKnownHostsFile设置为~/.ssh/known_hostsand 。~/.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 默认值有多少不同,但至少在这种情况下它们似乎表现相同。

  • 我将此标记为正确答案。我认为这只是一个巧合,我备份了“known_hosts”文件并将备份命名为“known_hosts2”。这也是我在 SSH -v 输出中看到的 SSH 正在查找的 SSH2 文件的名称。 (3认同)