环境说明:
1. centos 6.x 系统,使用root账户设置秘钥方式登录;
2. 在配置多台主机秘钥时,部分成功,部分不成功;
3. 安全日志 /var/log/secure 已被关闭,没有记录;
4. /etc/selinux/config中SELINUX=disabled。
这个问题困扰了比较长的时间,从网上搜,大部分是说权限的问题,但是我已经设置好了权限,
配置文件/etc/ssh/sshd_config也是一样的,没有理由部分主机可以登录,部分不能登录啊,
权限查看:
ll -d .ssh/
drw------- 2 root root 4096 Dec 6 15:33 .ssh/
ll .ssh/authorized_keys
-rw------- 1 root root 666 Dec 6 13:08 .ssh/authorized_keys
如果不对,可以这样设置:
chmod 700 .ssh/
chmod 600 .ssh/authorized_keys
问题解决:
后来通过ssh的 -d 参数查出了问题,
服务端开启临时端口和debug调试信息:
/usr/sbin/sshd -p 10022 -d
客户端链接:
ssh -p 10022 [email protected]
服务端输出:
略。。。。。。
debug1: trying public key file /root/.ssh/authorized_keys
debug1: fd 4 clearing O_NONBLOCK
Authentication refused: bad ownership or modes for directory /root
略。。。。。。
上面红色字体说明是/root目录权限的问题,登上查看以后,果然是权限不对,修改为755:
chmod 755 /root/
再次登录,一切正常。