將位址加入known_hosts命令列

將位址加入known_hosts命令列

我在從命令列將 IP 新增到known_hosts 時遇到問題。我有一個 mysql 備份腳本,應該使用 sftp 將檔案上傳到其他伺服器。腳本工作正常,但您必須手動執行一次 sftp 命令才能將 ip 新增至known_hosts,否則腳本將失敗。

該腳本應該是可移植的,這樣它就可以被放到伺服器上,並且它會自動完成所有事情。第一次不需要使用者手動使用 sftp 連線。

我嘗試使用以下命令添加 ip:

ssh-keygen -R [receiver IP]
ssh-keyscan -H [receiver IP] >> ~/.ssh/known_hosts

但我收到以下錯誤:

ssh-keygen:/root/.ssh/known_hosts:沒有這樣的檔案或目錄

我應該添加觸控來創建known_hosts 檔案還是最好的做法是什麼?

答案1

由於它必須可移植到任何伺服器,我認為您最好的選擇是附加嚴格主機密鑰檢查=否像這樣的 ssh 指令:

ssh -o StrictHostKeyChecking=no [backupuser]@[backupserver]

您也可以在 sshd 設定檔中全域新增此選項,如下所示:

StrictHostKeyChecking No

相關內容