摘要
一般为了方便运维管理都会配置ssh免密登录,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
权限问题
- /root 775
- /root/.ssh 700
- /root/.ssh/authorized_keys 644
开启文件AuthorizedKeysFile .ssh/authorized_keys
下面关于SSH相关的文章您也可能喜欢,不妨参考下:
集群环境SSH免密码登录设置 http://www.linuxidc.com/Linux/2017-03/141296.htm
Linux基础教程:配置SSH免密码登陆 http://www.linuxidc.com/Linux/2017-07/145847.htm
远程SSH连接服务与基本排错 http://www.linuxidc.com/Linux/2017-05/143738.htm
使用SSH公钥密钥自动登陆Linux服务器 http://www.linuxidc.com/Linux/2017-02/140642.htm
配置SSH免密码登录 http://www.linuxidc.com/Linux/2017-08/146213.htm
开启SSH服务让Android手机远程访问 Ubuntu 14.04 http://www.linuxidc.com/Linux/2014-09/106809.htm
SSH非交互式密码授权远程执行脚本 http://www.linuxidc.com/Linux/2017-04/143180.htm
SSH通过密钥登陆 http://www.linuxidc.com/Linux/2017-06/144997.htm
Ubuntu 安装配置SSH(ssh: connect to host localhost port 22: Connection refused问题的解决) http://www.linuxidc.com/Linux/2015-01/112045.htm
CentOS SSH提示:connect to host centos-py port 22: Connection refused http://www.linuxidc.com/Linux/2017-11/148586.htm
Linux上实现SSH免密码登陆远程服务器 http://www.linuxidc.com/Linux/2017-05/144165.htm
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-12/149573.htm