Hunter的大杂烩

April 11, 2018

因为selinux导致的openssh免密码登录失败

Filed under: 技术话题 — hunter @ 7:03 pm

(高版本linux中,缺省启用了selinux,也导致了很多莫名的问题)
按常规配置openssh 免密登录:
1. 创建密钥 ssh-keygen -f xxx -t rsa
2. 修改服务端 /etc/ssh/sshd_config,放开pubkey认证
3. 将客户端的 id_rsa.pub 文件拷贝到 服务端,命名为 authorized_keys
4. 重启服务端sshd

测试时发现pubkey 不生效,反复提示要密码,用sshd 的非daemon模式进行调试,发现 免密码的pubkey可以生效,换成 daemon模式就出错

最后在/var/log/audit/下看到相关错误信息:

type=AVC msg=audit(1523442971.439:598406): avc: denied { search } for pid=30533 comm="sshd" name="/" dev=xvdb1 ino=2 scontext=unconfined_u:system_r:sshd_t:s0-s0:c0.c1023 tcontext=system_u:object_r:file_t:s0 tclass=dir

网上查了大部分遇到的是

type=AVC msg=audit(1523443186.909:598412): avc: denied { read } for pid=30746 comm="sshd" name="authorized_keys" dev=xvdb1 ino=38797324 scontext=unconfined_u:system_r:sshd_t:s0-s0:c0.c1023 tcontext=system_u:object_r:default_t:s0 tclass=file

终于在 https://www.linuxidc.com/Linux/2013-07/87267.htm 看到一个提示,说是单独分区之后,会导致selinux权限错乱,我的服务器/data目录是独立分区,因此参考该文章,最后解决:
1. restorecon -r -vv /data/
2. chcon -t ssh_home_t ~user/.ssh/authorized_keys

No Comments

No comments yet.

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

Powered by WordPress