美文网首页Linux运维
Centos下“ssh免密码登录不生效”问题

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

作者: 菩提老鹰 | 来源:发表于2017-12-16 11:37 被阅读231次

    摘要

    一般为了方便运维管理都会配置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

    相关文章

      网友评论

        本文标题:Centos下“ssh免密码登录不生效”问题

        本文链接:https://www.haomeiwen.com/subject/ghlswxtx.html