修改SSH端口可提升安全性,首先编辑/etc/ssh/sshd_config文件,将Port 22改为新端口如2222,保存后配置防火墙允许新端口,Ubuntu使用ufw allow 2222,CentOS使用firewall-cmd添加规则,随后重启SSH服务systemctl restart ssh,保留原会话并测试新端口连接,确认可用后可注释Port 22并重启服务完成加固。

如果您尝试通过SSH远程连接Linux服务器,但发现默认的22端口存在频繁的扫描或安全风险,则可以通过修改SSH服务的监听端口来提升安全性。以下是具体的修改步骤。
本文运行环境:Dell PowerEdge R750,Ubuntu 22.04 Server
一、编辑SSH配置文件
SSH服务的配置由sshd_config文件控制,修改该文件可以更改服务监听的端口号。在进行任何更改前,建议先备份原始配置文件。
1、使用文本编辑器打开SSH配置文件:sudo nano /etc/ssh/sshd_config。
2、查找包含#Port 22的行,去掉前面的#号注释,并将数值改为所需的新端口号,例如:Port 2222。
3、保存并关闭文件。
二、配置防火墙规则
修改端口后,必须确保系统防火墙允许新端口的入站连接,否则SSH服务将无法从外部访问。
1、如果使用ufw防火墙,执行命令:sudo ufw allow 2222,以开放新端口。
2、若使用firewalld,则运行:sudo firewall-cmd --permanent --add-port=2222/tcp,然后执行sudo firewall-cmd --reload重载规则。
三、重启SSH服务
应用新的配置需要重新启动SSH守护进程,使端口变更生效。
1、执行命令重启SSH服务:sudo systemctl restart ssh(Ubuntu/Debian)或sudo systemctl restart sshd(CentOS/RHEL)。
2、为防止意外断开导致无法连接,建议保留当前SSH会话,并新开一个终端测试新端口连接。
四、验证新端口连接
确认SSH服务已在新端口上正常监听,并可通过客户端成功连接。
1、在本地终端执行:ssh username@server_ip -p 2222,测试是否能正常登录。
2、若连接成功,说明端口修改已生效;若失败,请检查日志:sudo journalctl -u ssh 或 /var/log/auth.log 排查问题。
五、禁用原22端口(可选)
在确认新端口稳定可用后,可进一步增强安全性,防止攻击者利用默认端口尝试入侵。
1、再次编辑配置文件:sudo nano /etc/ssh/sshd_config。
2、删除或注释掉Port 22这一行,仅保留新的端口设置。
3、保存后重启SSH服务:sudo systemctl restart ssh。










