0.說明
這裡為了方便說明問題,假設有A和B兩台安裝了centos6.5的主機。目標是實現A、B兩台主機分別能夠通過ssh免密碼登入到對方主機。不同主機的配置過程一樣,這裡介紹A主機的配置過程。
事先在AB主機分別建立好要免密碼登入的使用者名稱,在/etc/hosts檔案增加主機名稱和ip。
建立新使用者:useradd linuxidc
設定密碼:passwd linuxidc,輸入自己想要的密碼即可,之後su linuxidc切換使用者
修改主機名稱:vim /etc/sysconfig/network,加入hostname=master,登出系統之後即可看到修改成功
修改hosts檔案:
vim /etc/hosts 192.168.88.101 master 192.168.88.102 slave1
1.環境設定
1.1 關閉防火牆(root許可權)
centos6.5對網路管理相當嚴格,需要關閉selinux。到/etc/selinux/config下,把SELINUX=enforcing修改為SELINUX=disabled 。需要root許可權。
Password:
$ vim /etc/selinux/config
找到SELINUX並修改為SELINUX=disable
1.2 修改sshd的設定檔(root許可權)
$ vim /etc/ssh/sshd_config
找到以下內容,並去掉注釋符“#”
RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys
1.3 重啟sshd服務(root許可權)
$ /sbin/service sshd restart
2.本機產生公開金鑰和私密金鑰
從root切換回要免密碼登入的使用者linuxidc,執行命令。
預設在使用者linuxidc的家目錄(~/.ssh/)產生兩個檔案:
id_rsa: 私密金鑰
id_rsa.pub:公開金鑰
3.把公開金鑰匯入到認證檔案
3.1 匯入到本機
# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
完成這一步,再按照步驟4修改相關檔案許可權,可以免密碼登入本機。可以輸入以下命令驗證。
ssh localhost
如果能夠登入,即驗證成功。
3.2 匯入到目標主機
3.2.1在本機操作,傳送到目標主機
# scp ~/.ssh/id_rsa.pub root@目標主機ip或主機名稱:/home/id_rsa.pub
注意把檔案傳送到目標主機時,要用root使用者,否則會因許可權不夠而拒絕。輸入目標主機密碼後,出現OK即傳輸成功。
3.2.2 登入到目標主機,把公開金鑰匯入到認證檔案
使用要被免密碼登入的使用者名稱linuxidc,登入到目標主機。然後執行以下操作。
# cat /home/id_rsa.pub >> ~/.ssh/authorized_keys
再按照步驟4修改相關檔案許可權,完成免密碼登入設定。
4.更改相關檔案的許可權
# chmod 700 ~/.ssh# chmod 600 ~/.ssh/authorized_keys
至此,完成免密碼登入設定。
5. 測試
A主機(linuxidc@master),B主機(linuxidc@slave1)。在A主機,切換為linuxidc使用者,執行以下命令測試:
ssh slave1
以上所述是小編給大家介紹的CentOS 6.5中SSH免密碼登入配置教程,希望對大家有所協助,如果大家有任何疑問請給我留言,小編會及時回複大家的。在此也非常感謝大家對雲棲社區網站的支援!