Centos下“ssh免密码登录不生效”问题

来源:互联网 发布:网络小贷与p2p的区别 编辑:程序博客网 时间:2024/06/16 06:15

摘要

一般为了方便运维管理都会配置ssh免密登录,ssh免密登录实现也很方便。今天遇到一个完成了配置了却不能生效的问题。

思考

遇到这个问题一般有以下几点:
+ authorized_keys文件是否启用
+ .ssh 和 authorized_keys 文件权限问题

排查

检查AuthorizedKeysFile配置是否启用authorized_keys

root@pts/1 $ cat /etc/ssh/sshd_config |egrep AuthorizedKeysFileAuthorizedKeysFile  .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: rootuser::rwxgroup::---other::---root@pts/1 $ getfacl /root/.ssh/authorized_keysgetfacl: Removing leading '/' from absolute path names# file: root/.ssh/authorized_keys# owner: root# group: rootuser::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: ftpuseruser::r-xgroup::r-xother::---

发现这里/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: rootuser::rwxuser:ftpuser:rwx        #effective:r-xgroup::r-xmask::r-xother::r-x

附加

  • 权限问题

    • /root 775
    • /root/.ssh 700
    • /root/.ssh/authorized_keys 644
  • 开启文件AuthorizedKeysFile .ssh/authorized_keys

原创粉丝点击