
我需要能夠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_2
為my_host_1
機器 2。
解釋:
第一行#!/bin/bash
稱為 shebang。看這裡了解更多。
第二行安裝sshpass
無需互動。
第三行用於ssh-keygen
建立密鑰。-q
意味著安靜;它並沒有要求那麼多。-N ""
表示無密碼,-f
表示儲存在預設位置。
ssh-copy-id
最後一行使用和複製實際密鑰sshpass
。您無法echo
透過 來輸入密碼stdin
,因此我們使用sshpass
最接近的等效密碼。-p
是要使用的密碼。參數ssh-copy-id
是將密鑰複製到的使用者名稱和主機。