如何在 bash 腳本中新增 SSH 已知主機?

如何在 bash 腳本中新增 SSH 已知主機?

我正在創建一個 bash 腳本來配置一個新伺服器,我可以在其中部署 Web 應用程式。我總是要做的一件事就是將 GitHub 作為已知主機使用.如何在 bash 腳本中自動執行此過程,並以冪等方式完成?ssh [email protected]

答案1

最簡單的方法就是做這樣的事情。

ssh-keyscan remote_server >>~/.ssh/known_hosts

如果此框是全新的,您可能還需要~/.ssh在運行之前建立目錄ssh 密鑰掃描

請記住,ssh-keyscan 可以採用任意數量的主機名稱。它將獲得所有它能獲得的鑰匙。

答案2

您是否正在嘗試自動接受新密鑰?如果是這樣,您可以使用 -oStrictHostKeyChecking=no。
這樣做是一個非常糟糕的主意,因為您現在完全容易遭受中間人攻擊。

更好的選擇是管理一個known_hosts 檔案並在配置新伺服器時重複使用該檔案。將其貼到 github 上並編寫一個簡單的腳本來下載該文件,然後再 sshing 到 github。

嚴格的主機密鑰檢查是件好事。

答案3

我不確定我是否理解這個問題,但我認為您想忽略known_host提示或完全避免它,在這種情況下:

ssh -o StrictHostKeyChecking=否

或其他建議:http://www.joedog.org/2012/07/ssh-disable-known_hosts-prompt/

相關內容