Explanation
首先解釋一下公鑰和私鑰(在網上看到的,覺得不錯,可以讓更多人更容易理解,在此表示感謝),一個很形象的比喻,就是公鑰是鎖頭,私鑰是鑰匙,你要無密鑰登錄到某臺機器上,必須拿着你的私鑰打開相應的鎖頭;因此如果某臺機器允許許多人打開的話,就會存有這許多人的公鑰
Method:
以Ubuntu爲例,在每臺機器上安裝ssh之後(sudo apt-get install ssh),修改/etc/ssh/ssh_config(sudo),將StrictHostKeyChecking設置爲no,使得連接時可以自動將對應主機IP加入到know_hosts之中,免去ask選擇的麻煩。
接着在每臺機器上執行ssh-keygen -t rsa生成私鑰公鑰在~/.ssh/目錄下,然後將每臺機器的公鑰id_rsa.pub都追加到其中一臺機器的authorized_keys中,最後拷貝到所有機器上,即使得每臺機器都擁有其他所有機器的公鑰,這樣各主機之間就能通行無阻了。
比如有N臺機器,可以在其中一臺機器上ssh-keygen -t rsa生成私鑰id_rsa和公鑰id_rsa.pub,然後將生成的公鑰id_rsa.pub追加到本機的authorized_keys;接下來就是把這臺機器上的私鑰id_rsa複製到其他N-1臺機器上,並且把這臺機器上的公鑰id_rsa.pub追加到authorized_keys之後,最後修改相應的權限,chmod 600 id_rsa
即讓所有機器都擁有相同的公鑰和私鑰。