1. 程式人生 > >CentOS 6.5之SSH 免密碼加拿大幸運28登錄

CentOS 6.5之SSH 免密碼加拿大幸運28登錄

ssh 免密碼 成功 自己 add forum restart 如果 star slave

0.說明
這裏為了方便說明問題加拿大幸運28【話仙源碼論壇】hxforum.com【木瓜源碼論壇】papayabbs.com,假設有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權限。

su 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,執行命令。

ssh-keygen -t rsa

默認在用戶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

至此,完成免密碼登錄設置。

  1. 測試
    A主機(linuxidc@master),B主機(linuxidc@slave1)。在A主機,切換為linuxidc用戶,執行以下命令測試:

ssh slave1
能夠免密碼直接登錄,即設置成功。如果出錯,請仔細檢查以上各個步驟。

CentOS 6.5之SSH 免密碼加拿大幸運28登錄