CentOS 配置SSH免密碼登陸(公私鑰登陸)

#環境說明
客戶機:Mac OS X
服務器:CentOS 6.5
客戶端:OpenSSH,OS X及大多數Linux都內置了OpenSSH.’ssh -v’命令可以查看版本.

#大致流程
1.在客戶機創建一對密鑰文件,包括公鑰文件(~/.ssh/id_rsa.pub),私鑰文件(~/.ssh/id_rsa).

2.把公鑰放到服務器上(~/.ssh/authorized_keys),在使用ssh登錄時,ssh程序會發送私鑰去和服務器上的公鑰做匹配。如果匹配成功就可以自動登錄了。

#客戶機配置
1.查看~/.ssh文件夾,若已經存在有公鑰文件(id_rsa.pub),私鑰文件(id_rsa),則可以跳過客戶端配置.

2.生成密鑰文件.
$ ssh-keygen 
然後一路回車.
然後~/.ssh下會生成id_rsa.pub和id_rsa, 其中id_rsa文件起到唯一標識你的客戶機的作用.
注意:不要改這兩個文件的文件名,ssh登陸時會讀取id_rsa文件.

#服務器配置
1.修改sshd配置文件(/etc/ssh/sshd_config).
找到以下內容,並去掉註釋符”#“
=========================
  RSAAuthentication yes
  PubkeyAuthentication yes
  AuthorizedKeysFile  .ssh/authorized_keys
=========================

2.配置authorized_keys文件.
若’~/.ssh/authorized_keys’不存在,則建立.ssh文件夾和authorized_keys文件.

將上文中客戶機id_rsa.pub的內容拷貝到authorized_keys中.

PS:可以在客戶機中執行命令來拷貝:
cat ~/.ssh/id_rsa.pub | ssh user@host “cat - >> ~/.ssh/authorized_keys”

注意:
1) .ssh目錄的權限必須是700
2) .ssh/authorized_keys文件權限必須是600 

3.重啓sshd.
$ /etc/init.d/sshd restart


#測試
客戶機執行:ssh -v user@host (-v 調試模式)
會顯示一些登陸信息.
若登陸失敗,或者仍然要輸入密碼,可以在服務器查看日誌文件:/var/log/secure.

若登陸成功,則以後就可以用’ssh user@host’ 直接登陸了,不用輸入密碼.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章