假設(shè)有 A、 B 兩臺 Linux 服務(wù)器,我們希望能夠從其中一臺服務(wù)器通過 SSH 免密碼登錄到另一臺服務(wù)器。
兩臺服務(wù)器的信息如下:
| 主機(jī)名 | IP地址 | 免密碼登錄用戶名 | 
| server1 | 192.168.12.11 | guest1 | 
| server2 | 192.168.12.12 | guest2 | 
環(huán)境設(shè)置(root權(quán)限)
1.關(guān)閉防火墻和SELinux
Redhat使用了SELinux來增強(qiáng)安全,關(guān)閉的辦法為:
a. 永久有效
修改 /etc/selinux/config 文件中的 SELINUX=enforcing 修改為 SELINUX=disabled ,然后重啟。
b. 臨時(shí)生效
setenforce 0
關(guān)閉防火墻的方法為:
a. 永久有效
開啟:chkconfig iptables on
關(guān)閉:chkconfig iptables off
b. 臨時(shí)生效
開啟:service iptables start
關(guān)閉:service iptables stop
需要對兩臺服務(wù)器分別進(jìn)行設(shè)置,關(guān)閉防火墻和 SELinux 。  
2.設(shè)置主機(jī)名
編輯 /etc/sysconfig/network 文件,使用命令: vim /etc/sysconfig/network  ,設(shè)置格式:HOSTNAME=[主機(jī)名] 。
將A服務(wù)器的主機(jī)名設(shè)置為 server1 。 

將B服務(wù)器的主機(jī)名設(shè)置為 server2 。

3.配置hosts
編輯 /etc/hosts 文件,使用命令:vim /etc/hosts ,在兩臺服務(wù)器的 hosts 文件中分別增加如下配置:
192.168.12.11 server1192.168.12.12 server2

4.配置sshd
編輯兩臺服務(wù)器的 /etc/ssh/sshd_config 文件,使用命令:vim /etc/ssh/sshd_config 。
去掉以下3行的 “#” 注釋:
RSAAuthentication yesPubkeyAuthentication yesAuthorizedKeysFile .ssh/authorized_keys
重啟 sshd 服務(wù),使用命令:/sbin/service sshd restart 。
秘鑰設(shè)置
1.創(chuàng)建免密碼登錄賬戶
使用命令:
useradd guest1 //創(chuàng)建新用戶passwd guest1 //設(shè)置新用戶登錄密碼
 
同樣地,在 server2 中創(chuàng)建一個(gè) guest2 賬戶 。
2.生成秘鑰
從 root 用戶切換到要免密碼登錄的賬戶,使用命令:su guest1 。
執(zhí)行命令:ssh-keygen -t rsa

無需指定口令密碼,直接回車,命令執(zhí)行完畢后會在 guest1 用戶的家目錄中(/home/guest1/.ssh)生成兩個(gè)文件:
id_rsa: 私鑰id_rsa.pub:公鑰
 
按照同樣的步驟,在 server2 中為 guest2 賬戶生成好秘鑰文件。
3.將公鑰導(dǎo)入到認(rèn)證文件
使用命令:
新聞熱點(diǎn)
疑難解答
圖片精選