我想這可能是一個基本的Linux問題,但我在爲一個我正在管理的機器場設置一個單獨的SSH密鑰時遇到了一些麻煩。SSH在網絡中的所有機器上,如何?
在研究此事時,我見過的大多數教程都允許您從最初生成密鑰的計算機到其他已放置相同密鑰的計算機進行SSH連接。但我希望能夠從我的服務器場中的任何計算機到任何其他計算機進行SSH連接。
有沒有簡單的方法來做到這一點?還是我堅持在所有機器之間創建密鑰對?我們正在進行一些腳本工作,而且我們必須在所有機器之間進行SSH訪問。
我想這可能是一個基本的Linux問題,但我在爲一個我正在管理的機器場設置一個單獨的SSH密鑰時遇到了一些麻煩。SSH在網絡中的所有機器上,如何?
在研究此事時,我見過的大多數教程都允許您從最初生成密鑰的計算機到其他已放置相同密鑰的計算機進行SSH連接。但我希望能夠從我的服務器場中的任何計算機到任何其他計算機進行SSH連接。
有沒有簡單的方法來做到這一點?還是我堅持在所有機器之間創建密鑰對?我們正在進行一些腳本工作,而且我們必須在所有機器之間進行SSH訪問。
這不僅是可能的,它非常普遍!
只需將生成的密鑰的id_rsa.pub
部分與ssh-keygen
一起安裝到遠程機器上的~/.ssh/authorized_keys
即可。
當你從你的工作站SSH到遠程系統,SSH將使用本地私鑰id_rsa
登錄,這將驗證對遠程系統的~/.ssh/authorized_keys
文件。
-
你更新的問題提一提,你想從任何一臺機器SSH到其他機器。這不是一個好的安全措施。相反,你應該有一個包含私鑰的「管理員」機器。但是,如果您必須這樣做,請將~/.ssh/id_rsa
私鑰複製到您的所有機器。
我想你可以將相同的私鑰(id_rsa
)複製到所有機器上,並將相同的公鑰(id_rsa.pub
)添加到所有機器的authorized_keys
。
,那麼你可能想運行在所有機器上ssh-agent
與ssh-add
註冊私鑰不過,我會有點不安關於這個從安全角度考慮。
甚至有一個命令來爲你做這個,這可以確保文件權限是否正確算賬:
ssh-copy-id [email protected]
使用ssh-agent
。您使用ssh-add
將私鑰添加到它。
現在使用ssh -A
登錄到另一個主機。這會將您的代理轉發給其他主機,並允許您從第一個主機登錄到下一個主機。
由於您已將您的公鑰(例如ssh-copy-id
)複製到所有主機,因此您可以從任何主機登錄到任何其他主機。
謝謝,我一直在做你所建議的事情,但事實證明我的問題其實很簡單。我在我的.ssh目錄中的配置文件中有一個小問題,所以這是一個簡單的修復。 – 2013-03-06 19:12:54