修改默认的22端口是一个简单而有效的防止被爆破SSH登录的方法,之前VPS GO也给大家介绍过如何在Linux上修改SSH默认端口,但是针对CentOS7,有些时候除了修改sshd_config
文件外,我们还要设置防火墙放行新SSH端口,主要包括在Firewalld和SELinux中添加新端口。
**本文示例均以1024作为新SSH端口为例。
一、如何修改SSH端口
常见的Linux系统,包括CentOS、Ubuntu、Debian均是修改SSH配置文件:
vi /etc/ssh/sshd_config
在文件中将SSH端口修改成新的默认端口(Port: 1024)。
详细教程可以参考:《Linux修改SSH默认22端口,指定SSH端口的方法》
二、CentOS7防火墙规则设置
VPS GO自己在VPS、VDS和独立服务器上都试过上面的方法,同样的修改方式,同样的系统(CentOS 7),只有独立服务器上是需要额外配置防火墙放行新SSH端口的,所以如果你只是修改了上面的文件后新的SSH端口就可以用了,那么就不需要设置防火墙,如果新的SSH端口不通,还是只能通过旧SSH端口远程,那么可以根据下面的教程设置Firewalld和SELinux。
1、Firewalld添加端口
查看Firewalld是否开启的命令:firewall-cmd --state
1、在Firewalld中添加新的SSH端口:
firewall-cmd --zone=public --add-port=1024/tcp --permanent
2、重启Firewalld:
firewall-cmd --reload
3、查看是否添加成功,如果成功会返回yes,否则输出no:
firewall-cmd --zone=public --query-port=1024/tcp
2、SELinux添加端口
查看SELinux是否开启的命令:/usr/sbin/sestatus -v
1、首先查看SELinux中放行的SSH端口:
semanage port -l | grep ssh
如果这里提示没有找到semanage这个命令(semanage command not found),那么先安装semanage:yum -y install policycoreutils-python
。
对于CentOS 8,安装semanage需要另一个命令:《Linode CentOS8提示“Unable to install policycoreutils-python”的解决办法》。
2、在SELinux中添加SSH端口
semanage port -a -t ssh_port_t -p tcp 1024
3、检查是否添加成功,如果成功,则会在原来SSH端口的基础上增加一个1024端口,否则只有原来的SSH端口。
semanage port -l | grep ssh
以上就是老王给大家分享的在CentOS 7上如何设置防火墙放行端口的教程,在GGC的独服上确实要这么设置才能成功修改SSH端口,之前用他家VPS和VDS都不需要配置防火墙。另外,如果是阿里云、腾讯云、亚马逊云等可能还要设置网页端的防火墙。
最后,CentOS查看端口是否开启可以借助这个在线小工具查看:IP可用性检测工具