CentOS下“ssh免密码登录不生效”问题
摘要
一般为了方便运维管理都会配置ssh免密登录,ssh免密登录实现也很方便。今天遇到一个完成了配置了却不能生效的问题。
思考
遇到这个问题一般有以下几点:
- authorized_keys文件是否启用
- .ssh 和 authorized_keys 文件权限问题
排查
检查AuthorizedKeysFile
配置是否启用authorized_keys
root@pts/1 $ cat /etc/ssh/sshd_config |egrep AuthorizedKeysFile AuthorizedKeysFile .ssh/authorized_keys
没有问题,继续检查.ssh (700) 和 authorized_keys(644) 权限
root@pts/1 $ getfacl /root/.ssh/ getfacl: Removing leading '/' from absolute path names # file: root/.ssh/ # owner: root # group: root user::rwx group::--- other::--- root@pts/1 $ getfacl /root/.ssh/authorized_keys getfacl: Removing leading '/' from absolute path names # file: root/.ssh/authorized_keys # owner: root # group: root user::rw- group::--- other::---
authorized_keys
权限不对,修改一下chmod 644 authorized_keys
再次尝试结果发现还是不行。但是该设置的权限都设置了。既然.ssh
目录和其下文件的权限都OK了,那就检查下其父目录的权限,也就是这里的/root
的权限
root@pts/1 $ getfacl /root/ getfacl: Removing leading '/' from absolute path names # file: root/ # owner: ftpuser # group: ftpuser user::r-x group::r-x other::---
发现这里/root
的属主都发生了变化。为了不影响别的业务情况,保留这里的ftpuser权限,利用setfacl
添加特殊ACL权限
root@pts/1 $ chown -R root:root /root/ root@pts/1 $ setfacl -m u:ftpuser:rwx /root/ root@pts/1 $ getfacl /root/ getfacl: Removing leading '/' from absolute path names # file: root/ # owner: root # group: root user::rwx user:ftpuser:rwx #effective:r-x group::r-x mask::r-x other::r-x
附加
权限问题
- /root 775
- /root/.ssh 700
- /root/.ssh/authorized_keys 644
开启文件
AuthorizedKeysFile .ssh/authorized_keys
下面关于SSH相关的文章您也可能喜欢,不妨参考下:
相关推荐
WanKaShing 2020-11-12
projava 2020-11-14
airfish000 2020-09-11
tryfind 2020-09-14
yegen00 2020-09-10
kkaazz 2020-09-03
风语者 2020-09-02
BraveWangDev 2020-08-19
lichuanlong00 2020-08-15
gsl 2020-08-15
pandaphinex 2020-08-09
yhuihon 2020-08-09
CheNorton 2020-08-02
xiangqiao 2020-07-28
hpujsj 2020-07-26
hpujsj 2020-07-26
sshong 2020-07-19
BraveWangDev 2020-07-19
annan 2020-07-18