1. 程式人生 > >多個Linux伺服器之間實現ssh免密碼連線

多個Linux伺服器之間實現ssh免密碼連線

 假設現在我們有一個使用者,叫tom,

1.  啟動ssh , 

chkconfig iptables off


service iptables stop


service sshd start

然後在 tom 使用者下 ,ssh localhost 命令,點yes,輸入使用者名稱和密碼


2. 建立金鑰

  cd  ~ 進入grid 根目錄

   然後執行命令

 ssh-keygen -t rsa

這一路全部回車,完成後進入   .ssh 資料夾(隱藏的),會有一個id_rsa.pub檔案

執行命令
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 

生成一個authorized_keys  的檔案,

chmod 600 .ssh/authorized_keys

authorized_keys的許可權要是600

此時再執行    ssh localhost 就不用密碼了


3 。多個機器免密碼ssh 

     假設Node1的機器按上述步驟完成了。

    然後node2  同樣執行上述步驟,

    最後將 node2和node1 的  authorized_keys 內容合併,成一個新authorized_keys 

     將合併的authorized_keys 替換各自authorized_keys,便能實現互相之間的免密碼ssh 

注意:一個系統只能給一個使用者實現 免密碼ssh 連線!    

 比如你給 root使用者實現了  免密碼ssh  ,那個你再給 tom  或其他使用者免密碼,是無法實現的,

那個使用者 ssh localhost  還是要密碼

chmod 600 .ssh/authorized_keys

authorized_keys的許可權要是600

使用便捷命令

linux系統配置免密碼的方式:

1:ssh-keygen -t rsa

生成金鑰

2:ssh-copy-id -i ~/.ssh/id_rsa.pub jifeng@jifeng02

把本機的公鑰追到jifeng02的 .ssh/authorized_keys 裡

3:測試

  1. [jifeng@jifeng04 .ssh]$ ssh jifeng02  
  2. Last login: Thu Aug  7 16:37:55 2014 from jifeng04  
  3. [jifeng@jifeng02 ~]$   

4:如果ssh的埠不是22,可用下面命令

ssh-copy-id -i ~/.ssh/id_rsa.pub "-p 23 jifeng@jifeng03"