首先查看.ssh的权限是否为700
其次查看authorized_keys是否为600或者644
全都没有问题后,查看密钥中是否是整行,一句密钥是一行,如果中间有回车符也不对
如果上面都ok的话,查看ssh的配置文件/etc/ssh/sshd_config
#禁用root账户登录,如果是用root用户登录请开启
PermitRootLogin yes
# 是否让 sshd 去检查用户家目录或相关档案的权限数据,
# 这是为了担心使用者将某些重要档案的权限设错,可能会导致一些问题所致。
# 例如使用者的 ~.ssh/ 权限设错时,某些特殊情况下会不许用户登入
StrictModes no
AllowUsers root 这个就是限制了root用户,其他用户无法登陆
# 是否允许用户自行使用成对的密钥系统进行登入行为,仅针对 version 2。
# 至于自制的公钥数据就放置于用户家目录下的 .ssh/authorized_keys 内
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
# 有了证书登录了,就禁用密码登录。
PasswordAuthentication no --这个就是即使有证书也会使用密码,如果设置了这为no,那么以后登陆即使使用密码也没办法了,一般将这个设为yes,否则需要使用密码登录的将无法登录,如果authorized.keys中没有key的话,连接ssh服务器只能去机房了
查看这些权限是否和上述一样,或者可以根据配置文件中的配置注释进行修改