多個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:測試
-
[jifeng@jifeng04 .ssh]$ ssh jifeng02
- Last login: Thu Aug 7 16:37:55 2014 from jifeng04
- [jifeng@jifeng02 ~]$
4:如果ssh的埠不是22,可用下面命令
ssh-copy-id -i ~/.ssh/id_rsa.pub "-p 23 jifeng@jifeng03"