我正在尝试与 IP 进行 ssh 通信,但我在日志中收到以下错误消息。
Jun 5 11:36:50 thetemplate my-sshd[26346]: Accepted password for user1 from 172.80.1.2 port 34278 ssh2
Jun 5 11:36:50 thetemplate my-sshd[26346]: User child is on pid 27078
Jun 5 11:36:50 thetemplate my-sshd[27078]: ssh_selinux_change_context: setcon failed with Invalid argument
Jun 5 11:36:50 thetemplate my-sshd[27078]: Changed root directory to "/test//ssh/home/user1"
Jun 5 11:36:50 thetemplate my-sshd[26346]: error: ssh_selinux_setup_pty: security_compute_relabel: Invalid argument
根据 这个答案my-sshd
,我尝试通过这样做来改变上下文
chcon system_u:object_r:sshd_exec_t:s0 /test/bin/my-sshd
service sshd restart
/var/log/messages
执行 ssh 时仍然出现错误消息。
在做时ps -eZ | grep sshd
我发现这my-sshd
有不同的背景/usr/sbin/sshd
unconfined_u:system_r:sshd_t:s0-s0:c0.c1023 24012 ? 00:00:00 sshd
unconfined_u:system_r:sshd_t:s0-s0:c0.c1023 24272 ? 00:00:00 sshd
unconfined_u:system_r:sshd_t:s0-s0:c0.c1023 29923 ? 00:00:00 sshd
unconfined_u:unconfined_r:unconfined_java_t:s0-s0:c0.c1023 32487 ? 00:00:00 my-sshd
这可能是这些错误消息的原因,如果是,如何继续处理?
编辑:
在级别 3 调试中,setcon 无法设置以下内容的上下文:
debug3: ssh_selinux_change_context: setting context from 'unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023' to 'unconfined_u:unconfined_r:chroot_user_t:s0-s0:c0.c1023'
ssh_selinux_change_context: setcon failed with Invalid argument
此上下文更改发生在更改服务器的根目录之前。它不会影响任何功能,因为根目录发生更改,并且我可以 ssh 进入服务器。这些错误消息只会让我的 /var/log/messages 变得混乱。有什么方法可以避免调用 ssh_selinux_change_context 方法吗?我无法弄清楚这个方法到底是什么时候触发的。任何其他有助于确定解决方案的帮助也将受到高度赞赏。
答案1
使用命令
audit2allow -w -a
在输出的底部,您已经获得了用于解决您的问题的 linux 命令。