
在嘗試清理 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
and 。~/.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