我把ssh端口改成了任意数字,并且注意到firewalld不再允许sshlogin。 我假设端口22是在firewalld的ssh服务定义中硬编码的。 如果我允许新的端口用于TCP通信,还是应该为自定义的ssh端口定义一个新的服务,那么是否足够了?
我假设端口22是在firewalld的ssh服务定义中硬编码的
在我的CentOS / Fedora系统上,默认的服务定义存储在/usr/lib/firewalld/services xml文件中。 文件名是服务的名称。 这些被存储在/etc/firewalld/services的系统configuration覆盖。
要更改ssh端口,您可以将/usr/lib/firewalld/services/ssh.xml复制到/etc/firewalld/services/ssh.xml并针对您的目的进行修改。
然后你需要重新configuration
firewall-cmd --reload
现在你的系统应该允许你的新端口使用ssh连接。
我肯定会在端口号上使用一个服务名称,因为这会让事情变得更加清晰。 无论是创build一个新的服务还是压倒现有的服务,我都不想说。 弄清楚发生了什么并不难。
在CentOS 7中更改端口后,我遇到了这个问题。使用SElinux的问题 – 您需要为新端口添加一个上下文,或者如果您不使用SElinux,请将其禁用。 此外,您不需要添加新的服务 – 只需将新端口列入白名单即可。