一般我们购买的服务器都包含有软件openssh-server默认端口号为22。部分主机提供商已默认修改了SSH端口,或采用网页命令行以提高安全性。22号端口长期的暴漏容易引起针对SSH的暴力破解,因此我们拿上服务器最重要事情之一就是修改SSH的默认端口。此篇文章用于记录Centos 7修改SSH端口的过程。
注意:有个东西叫做端口扫描!改了端口号,不代表ssh就安全了!!我们还需要添加其他措施!但是这能大大减少被攻击的概率!
1.修改文件
vi /etc/ssh/sshd_config
(关于vi/vim的使用方法)
在窗口中找到#Port 22,去除前面的#,并添加你想要使用的端口,格式如下(以1522端口为例)
Port 22
Port 1522
此步骤中不建议将Port 22删去,因为,一旦修改过程中出现问题或误操作、修改失败,可能会导致无法连接服务器!
2.配置防火墙,若防火墙关闭,请忽略
firewall-cmd --zone=public --add-port=1522/tcp --permanent //permanent参数用于储存所修改的信息
firewall-cmd --reload //重启,使配置生效
firewall-cmd --zone=public --query-port=1522/tcp //查看防火墙是否放行端口1522
此步骤中,部分主机商(如阿里云、腾讯云等)需要在后台面板的设置中开启1522端口!具体见官方文档,此处不做解释
3.修改SELinux,若SELinux关闭,请忽略
semanage port -l | grep ssh //查看当前SELinux所使用的端口
semanage port -a -t ssh_port_t -p tcp 1522 //添加1522端口
semanage port -l | grep ssh //查看是否添加了1522端口,如果成功,会显示ssh_port_t tcp 1522,22
此步骤中,若出现Command Not Found提示时,应当先进行安装,命令如下
yum provides /usr/sbin/semanage
yum -y install policycoreutils-python
//第一条命令也可替换为
yum whatprovides /usr/sbin/semanage
4.重启SSH进程
systemctl restart sshd.service
完成后,使用新端口1522连接服务器,若失败,则可继续使用22号端口连接,进行进一步配置、检查。一般情况下,经过这些步骤基本能确保开启SSH的新端口,部分主机商提供的系统只需要第一步就能完成修改SSH端口的操作若成功,打开第一步中的文件,删除Port 22或将其注释掉并重启SSH进程,以关闭22端口!