问题现象:

在开启Selinux的情况下,使用无密码认证的私钥登陆登陆时,会出现如下错误提示:

Server refused our key

在/var/log/audit/audit.log日志文件下,可以看到如下提示:

type=AVC msg=audit(1371453190.650:21382): avc: denied { read } for pid=2048 comm=”sshd” name=”authorized_keys” dev=dm-2 ino=393229 scontext=unconfined_u:system_r:sshd_t:s0-s0:c0.c1023 tcontext=unconfined_u:object_r:home_root_t:s0 tclass=file

问题原因:

生成的~/.ssh/authorized_keys 文件没有selinux上下文属性,导致无法通过Selinux认证,查看该文件属性如下:

[barlowliu@web1 ~]$ ll -Z .ssh/authorized_keys
-rwxr–r–. barlowliu barlowliu ? .ssh/authorized_keys

很多网友在遇到此问题时,都是采用的关闭selinux方式解决问题,但鉴于selinux带来的安全性加强,在一般情况下,不建议关闭selinux。

办法解决:

# restorecon -R -v /home

该命令的作用了恢复/home 目录下所有文件的默认selinux安全上下文属性。

再次查看~/.ssh/authorized_keys文件的selinux安全上下文属性,发现已经改变:

[barlowliu@web1 ~]$ ll -Z ~/.ssh/authorized_keys
-rwxr–r–. barlowliu barlowliu unconfined_u:object_r:user_home_t:s0 /home/barlowliu/.ssh/authorized_keys

 转自:https://blog.csdn.net/lanxe/article/details/50739768?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-2-50739768-blog-84849219.pc_relevant_antiscanv2&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-2-50739768-blog-84849219.pc_relevant_antiscanv2&utm_relevant_index=5