我试着四处寻找解决方案,但没有运气。
我现在在Centos 8上将SELinux设置为允许,但如果我将其设置为强制,它将完全禁用我ssh到服务器的能力。这是日志分录:
setroubleshoot[2015]: setroubleshoot generated AVC, exiting to avoid recursion, context=system_u:system_r:kernel_t:s0, AVC scontext=system_u:system_r:kernel_t:s0
setroubleshoot[2015]: audit event
node=<REMOVED> type=AVC msg=audit(1633374382.599:119): avc: denied { dyntransition } for pid=2003 comm="sshd" scontext=system_u:system_r:kernel_t:s0 tcontext=unconfined_u:unconfined_r:unconfined_t:s0 tclass=process permissive=1
node=<REMOVED> type=SYSCALL msg=audit(1633374382.599:119): arch=c000003e syscall=1 success=yes exit=42 a0=c a1=5655238d6540 a2=2a a3=0 items=0 ppid=1985 pid=2003 auid=1000 uid=1000 gid=1000 euid=1000 suid=1000 fsuid=1000 egid=1000 sgid=1000 fsgid=1000 tty=(none) ses=3 comm="sshd" exe="/usr/sbin/sshd" subj=unconfined_u:unconfined_r:unconfined_t:s0 key=(null)
/etc/sbin/sshd具有以下权限
-rwxr-xr-x。1根root system_u:object_r:sshd_exec_t:s0 877760 May 27 10:54 sshd
我的sshd配置
Port <REMOVED FOR PRIVACY>
AddressFamily inet
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
SyslogFacility AUTHPRIV
PermitRootLogin yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PermitEmptyPasswords no
PasswordAuthentication no
ChallengeResponseAuthentication no
GSSAPIAuthentication yes
GSSAPICleanupCredentials no
UsePAM yes
X11Forwarding yes
PrintMotd no
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS
Subsystem sftp /usr/libexec/openssh/sftp-server
Answering because I lack the rep to comment, le sigh.
您引用的日志消息表明您的系统上至少缺少一条SELinux规则:当您尝试通过ssh登录时,从一种SELinux类型(kernel_t
)到另一种SELinux类型(unconfined_t
)的转换(dyntransition
)被拒绝。
您可以运行几个命令来进行调查:
ausearch -m AVC -m USER_AVC | audit2allow
将查找拒绝消息,并通过一个命令将它们管道化,该命令将建议您的系统中缺少哪些规则。
sesearch -c process -p dyntransition -A
将告诉您系统上已经存在哪些动态转换规则。您需要将它们作为root
运行,并且可能需要首先禁用SELinux (setenforce 0
)。
令我困惑的是,我发现这些权限在普通CentOS盒子上缺失是很奇怪的——这表明要么是上游回归,要么是在安装后更改了SELinux策略。您或其他人是否更改了该机器上的SELinux策略?