Centos6.5之ssh免密碼登錄配置


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權限)

關閉selinux。到/etc/selinux/config下,把SELINUX=enforcing修改為SELINUX=disabled 。需要root權限。

# su root
Password:
$ vim /etc/selinux/config
找到SELINUX並修改為SELINUX=disabled

關閉防火牆iptables

service iptables stop(服務器重啟后會失效)
chkconfig iptables off(重啟自動關閉防火牆)

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
或 /etc/init.d/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
或者ssh -v jay@slave1 (-v 調試模式,顯示登陸信息)

能夠免密碼直接登錄,即設置成功,以后就可以用"ssh user@host"直接免密碼登陸了。如失敗或者仍然要輸入密碼,可以在服務器查看日志文件:/var/log/secure查找原因。

然后請再仔細檢查以上各個步驟,如果發現步驟沒有錯但還是不行,就把服務器重啟然后嘗試免密碼登錄(本人之前配置的時候就遇到過類似的情況,重啟服務器后就可以免密碼登錄了)。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM