在CentOS系统中,SSH(Secure Shell)服务默认使用端口22进行远程连接,出于安全考虑,修改默认的SSH端口是一种常见的做法,以减少被暴力破解的风险,本文将详细介绍如何在CentOS中修改SSH端口,包括步骤、注意事项和常见问题解答。
修改SSH端口的步骤
1. 编辑SSH配置文件
需要编辑SSH的配置文件/etc/ssh/sshd_config
,可以使用vim
或任何其他文本编辑器来打开此文件:
sudo vim /etc/ssh/sshd_config
在文件中,找到#Port 22
这一行,将其前面的#
去掉,并将22改为你想要设置的新端口号,例如2020:
Port 2020
如果你希望同时保留默认的22端口和新端口,可以添加一行新的端口配置:
Port 22 Port 2020
这样做的好处是,如果新端口配置出现问题,你仍然可以通过默认的22端口进行连接和修复。
2. 重启SSH服务
保存并退出配置文件后,需要重启SSH服务以使更改生效:
sudo systemctl restart sshd.service
3. 配置防火墙规则
如果系统启用了防火墙(如firewalld
),需要更新防火墙规则以允许新的SSH端口通过:
sudo firewallcmd zone=public addport=2020/tcp permanent sudo firewallcmd reload
4. 验证更改
断开当前的SSH连接,然后尝试使用新端口重新连接:
ssh user@your_server_ip p 2020
如果连接成功,说明端口修改已经生效,你可以返回SSH配置文件,删除或注释掉默认的22端口:
#Port 22 Port 2020
再次重启SSH服务:
sudo systemctl restart sshd.service
注意事项
1、备份配置文件:在进行任何修改之前,建议备份原始的SSH配置文件,以防出现错误时可以快速恢复。
2、测试新端口:在删除默认的22端口之前,务必确保新端口工作正常,以避免锁定自己。
3、防火墙设置:不要忘记更新防火墙规则,否则新端口可能无法访问。
4、SELinux设置:在某些情况下,可能需要更新SELinux策略以允许新的SSH端口通过,具体操作可以参考相关文档或使用audit2allow
工具生成策略。
常见问题解答
Q1: 修改SSH端口后无法连接怎么办?
A1: 如果修改SSH端口后无法连接,首先检查以下几点:
确保新端口已在SSH配置文件中正确设置,并且没有拼写错误。
确保防火墙已开放新端口。
如果使用的是SELinux,确保已正确配置SELinux策略。
尝试暂时改回默认的22端口,确认问题是否出在新端口配置上。
Q2: 如何更改回默认的SSH端口22?
A2: 要改回默认的SSH端口22,只需按照上述步骤反向操作:
编辑/etc/ssh/sshd_config
文件,将新端口注释掉或删除,保留#Port 22
。
重启SSH服务。
如果之前修改了防火墙规则,记得移除或更新相应的规则。
如果修改了SELinux策略,也需要相应地调整。
修改CentOS中的SSH端口是一个相对简单但重要的安全措施,通过遵循上述步骤和注意事项,可以有效地提高服务器的安全性,如果在操作过程中遇到问题,不要慌张,逐步排查即可解决。