題 多個系統的SSH授權密鑰


在某處,我讀到要通過SSH訪問遠程計算機,我們需要復制 ~/.ssh/id_rsa.pub 本地機器的 ~/.ssh/authorized_keys 遠程機器。我這樣做了,我可以通過ssh訪問遠程機器。

我希望可以從多個服務器訪問遠程機器,例如:機器A可以訪問機器B,還有另一台機器C也可以訪問機器B.

我複制了 ~/.ssh/id_rsa.pub 機器A到 ~/.ssh/authorized_keys 機器B和我可以訪問機器B.

但我也想從機器C訪問機器B,那我該怎麼辦?我的意思是,我應該在哪裡複製 ~/.ssh/id_rsa.pub 機器C到機器B,以便我可以從機器C訪問機器B?


4
2018-03-13 12:55


起源




答案:


authorized_keys 遠程主機上的文件可以包含多個公鑰。只需附加它們 - 確保每個鍵都有一個新行。

為了簡化這個過程,有 ssh-copy-id(1)

ssh-copy-id user@machine-B

您可以在Machine C上執行上述命令。它會將默認公鑰複製到Machine B並將其附加到 authorized_keys 自動。您還可以使用指定要復制的另一個公鑰 -i 選項,如果你想。


這是參考 在手冊中

用戶通過運行創建他/她的密鑰對 ssh-keygen(1)。這將私鑰存儲在[...] ~/.ssh/id_rsa.pub (協議2 RSA)在用戶的主目錄中。然後,用戶應將公鑰複製到 ~/.ssh/authorized_keys 在他/她在遠程計算機上的主目錄中。

authorized_keys file [...]每行有一個鍵,但行可能很長。在此之後,用戶可以在不提供密碼的情況下登錄。


9
2018-03-13 13:04



感謝您的回复,但ssh-copy-id user @ machine-B命令無效。它給出錯誤“ssh-copy-id:command not found”。 - Amrinder Singh
然後你必須安裝它。它並不是每個系統都有。 - slhck


或者,您可以運行此命令:

cat id_rsa.pub | ssh remote-user@remote-host "cat >>~/.ssh/authorized_keys"

為了附加到authorized_keys文件


3
2018-03-22 21:17