環境說明
客戶機: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
直接登陸了,不用輸入密碼.