昨天配置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权限不对,提示是这样的:修改权限即可