Linux
在沒有提示的情況下將遠端主機添加到 known_hosts 文件
我寫了一些腳本並希望在
known_hosts
沒有任何互動的情況下將遠端主機添加到我的文件中。我可以執行一個命令ssh -o "StrictHostKeyChecking no" root@10.x.x.x
,將遠端主機密鑰添加到我的已知主機,但後面會出現 ssh 密碼提示。有什麼方法可以在沒有密碼提示的情況下做到這一點?
正如另一個答案中提到的,
ssh-keyscan
是理想的,但如果由於某種原因您不能這樣做:您可以通過設置選項來禁用密碼身份驗證PasswordAuthentication no
在配置文件中(例如
.ssh/config
),或在命令行中傳遞選項-o PasswordAuthentication
,從而防止 ssh 詢問您輸入密碼。不用說,伺服器將此視為登錄嘗試失敗,除非您配置了另一種允許您登錄的身份驗證方法。正如您已經註意到的,將
StrictHostKeyChecking
選項的值從ask
預設值更改為no
(或者yes
如果您想要更好的安全性)是必要的,以避免提示您是否要將主機密鑰添加到.ssh/known_hosts
.