%20%E4%B8%AD%E6%98%8E%E7%A1%AE%E5%AE%9A%E4%B9%89%E7%9A%84%E7%AB%AF%E5%8F%A3%E7%9A%84%E6%9C%8D%E5%8A%A1%E7%B1%BB%E5%9E%8B.png)
我需要能够在 CentOS 6.5 上的端口 23 而不是 22 上运行 SSH。SELinux不会允许这样做,因为它是tcp/23
在政策中定义的。有关如何将服务类型从 更改为telnetd_port_t
的任何步骤sshd_port_t
?
答案1
布拉奇利走在正确的道路上。事实上,“semanage”可以更改(修改)已经定义的端口。
这是一个对我自己有用的方法:
[root@host ~]# semanage port -l |grep ssh
ssh_port_t tcp 22
[root@host ~]# semanage port -m -t ssh_port_t -p tcp 23
[root@host ~]# semanage port -l |grep ssh
ssh_port_t tcp 23, 22
从这里,您可以修改 SSHD 以侦听/使用 /etc/ssh/sshd_config 中的端口 23,重新启动“sshd”服务并根据需要调整防火墙。
答案2
我不是 SELinux 的朋友,所以这只是一个疯狂的猜测:修改/etc/服务那么 23/tcp 与 22/tcp 具有相同的条目吗?