如何在沒有互動的情況下設定 ssh 密鑰系統?

如何在沒有互動的情況下設定 ssh 密鑰系統?

我需要能夠ssh在沒有互動的情況下設定密鑰系統。我不在乎是否需要安裝軟體包或明文密碼。

我怎麼能建立一個設定ssh密鑰系統的系統,允許機器Assh使用ssh密鑰進入機器B,反之亦然,而無需互動?

答案1

這是簡單的程式碼(複製和貼上不起作用!改變諸如my-username和之類的東西my-ip)。在兩台主機上運行:

#!/bin/bash
apt-get -y install sshpass
ssh-keygen -p -N "" -f ~/.ssh/id_rsa
sshpass -p 'my_password' ssh-copy-id my_username@my_host_2

更換my_host_2my_host_1機器 2。

解釋:

第一行#!/bin/bash稱為 shebang。看這裡了解更多。

第二行安裝sshpass無需互動。

第三行用於ssh-keygen建立密鑰。-q意味著安靜;它並沒有要求那麼多。-N ""表示無密碼,-f表示儲存在預設位置。

ssh-copy-id最後一行使用和複製實際密鑰sshpass。您無法echo透過 來輸入密碼stdin,因此我們使用sshpass最接近的等效密碼。-p是要使用的密碼。參數ssh-copy-id是將密鑰複製到的使用者名稱和主機。

相關內容