现在的位置: 首页 > Linux > Linux基础 > 正文
ssh私钥登陆提示Server refused our key问的解决办法
2013年06月17日 Linux基础 ⁄ 共 830字 ssh私钥登陆提示Server refused our key问的解决办法已关闭评论 ⁄ 被围观 16,808 views+

问题现象:

在开启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

抱歉!评论已关闭.

×