我正在 Windows 上運行 openssh 的命令列版本,並傳遞UserKnownHostsFile
選項以使其檢查主目錄以外的其他位置的主機金鑰。由於某種原因,openssh 似乎忽略了此選項:
ssh -o "StrictHostKeyChecking=yes" -o UserKnownHostsFile="C:\Users\Tim\hostkey.txt" host
結果如下日誌:
Could not create directory '/home/Tim/.ssh'. No RSA host key is known for [host]:22 and you have requested strict checking. Host key verification failed.
有什麼想法為什麼它不會選擇我請求的選項嗎?
答案1
您從哪裡獲得這個 CLI 工具?它是基於 cygwin 還是什麼?我的猜測是,它無法識別C:\Users\Tim\hostkey.txt
為有效的目錄名稱,您需要使用類似的名稱/cygdrive/c/Users/Tim/hostkey.txt
或其他名稱,這取決於 ssh 用戶端建立的特定變體。
-v
另外,嘗試在 ssh 命令中新增 a ,它應該會列印出更詳細的錯誤和狀態。