昨天配置ssh無密碼登陸時,無法成功。
檢查.ssh 權限為700
檢查authorized_keys 權限為600
檢查sshd_config配置文件
還是沒有發現問題,遂想到如何調試ssh登陸。在網上搜索信息,可以如下:
在服務端啟動一個臨時的ssh服務,這個服務只能被連接一次。端口為2222,開啟debug模式。
在客戶端如下:
在服務端可以看到
debug1: userauth-request for user git service ssh-connection method publickey
debug1: attempt 1 failures 0
debug1: test whether pkalg/pkblob are acceptable
debug1: temporarily_use_uid: 502/502 (e=0/0)
debug1: trying public key file /root/.ssh/authorized_keys
最終定位問題為:
trying public key file /root/.ssh/authorized_keys有問題,我的用戶是user,它卻找的是root的.ssh下的authorized_kesys
所以再檢查配置文件,發現這句話配置有誤:
AuthorizedKeysFile ~/.ssh/authorized_keys
正確的應該是:AuthorizedKeysFile .ssh/authorized_keys
修改sshd_config文件,需要重啟sshd服務: /etc/init.d/sshd restart
問題解決
2014-1-15追加=========================
假如.ssh目錄權限不對或者authorized_keys權限不對,提示是這樣的:修改權限即可