Centos6.5之ssh免密碼登錄配置 centos ssh 免密碼登錄 0.說明 這裡為了方便說明問題,假設有A和B兩台安裝了centos6.5的主機。目標是實現A、B兩台主機分別能夠通過ssh免密碼登錄到對方主機。不同主機的配置過程一樣,這裡介紹A主機的配置過程。 事先在AB主機分別創建好要免 ...
Centos6.5之ssh免密碼登錄配置
centos ssh 免密碼登錄
0.說明
這裡為了方便說明問題,假設有A和B兩台安裝了centos6.5的主機。目標是實現A、B兩台主機分別能夠通過ssh免密碼登錄到對方主機。不同主機的配置過程一樣,這裡介紹A主機的配置過程。
事先在AB主機分別創建好要免密碼登錄的用戶名,在/etc/hosts文件增加主機名和ip。
創建新用戶:useradd jay
設置密碼:passwd jay,輸入自己想要的密碼即可,之後su jay切換用戶
修改主機名: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切換回要免密碼登錄的用戶jay,執行命令。
# ssh-keygen -t rsa
預設在用戶jay的家目錄(~/.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 登錄到目標主機,把公鑰導入到認證文件
使用要被免密碼登錄的用戶名jay,登錄到目標主機。然後執行以下操作。
# cat /home/id_rsa.pub >> ~/.ssh/authorized_keys
再按照步驟4修改相關文件許可權,完成免密碼登錄設置。
4.更改相關文件的許可權
# chmod 700 ~/.ssh
# chmod 600 ~/.ssh/authorized_keys
至此,完成免密碼登錄設置。
5. 測試
A主機(jay@master),B主機(jay@slave1)。在A主機,切換為jay用戶,執行以下命令測試:
ssh slave1
能夠免密碼直接登錄,即設置成功。如果出錯,請仔細檢查以上各個步驟。