在Linux系统中,SSH(Secure Shell)是远程管理服务器的核心工具,默认使用22端口,默认端口容易成为恶意攻击的扫描目标,修改SSH端口是提升服务器安全性的基础操作,本文将详细介绍Linux系统中修改SSH端口的完整流程,包括配置方法、防火墙设置及注意事项,帮助用户实现安全、高效的远程连接。

修改SSH配置文件
SSH服务的端口配置主要由/etc/ssh/sshd_config文件控制,修改前需确保以root权限或具有sudo权限的用户身份操作,使用文本编辑器(如vim、nano)打开配置文件:
sudo vim /etc/ssh/sshd_config
在文件中找到#Port 22这一行(默认被注释),取消注释并将22替换为目标端口(如2222,建议使用1024以上的非特权端口,避免与系统服务冲突),若需同时支持多端口访问,可新增一行配置,
Port 2222 Port 2223
保存文件后,需重启SSH服务使配置生效:

sudo systemctl restart sshd
配置防火墙规则
修改SSH端口后,需同步更新防火墙规则,否则新端口将被拦截,导致无法远程连接,根据系统使用的防火墙工具,执行以下对应操作:
使用iptables(CentOS 7之前版本)
sudo iptables -A INPUT -p tcp --dport 2222 -j ACCEPT sudo service iptables save
使用firewalld(CentOS 7及RHEL 7+版本)
sudo firewall-cmd --permanent --add-port=2222/tcp sudo firewall-cmd --reload
使用ufw(Ubuntu/Debian系统)
sudo ufw allow 2222/tcp sudo ufw reload
验证新端口连通性
配置完成后,需测试新端口是否可正常访问,在本地终端中使用telnet或nc命令测试目标服务器的端口状态:
telnet <服务器IP> 2222
若显示“Connected to…”则说明端口开放成功,也可使用nmap工具扫描端口:

nmap -p 2222 <服务器IP>
常见问题与注意事项
- 避免端口冲突:修改前需确认目标端口未被其他服务占用,可通过
netstat -tuln | grep <端口号>检查。 - 保留临时访问方式:首次修改端口时,建议先保留原端口22的访问权限,待确认新端口稳定后再关闭原端口,避免因配置错误导致无法登录。
- SELinux配置:若系统开启SELinux,可能需调整策略允许新端口通信,执行:
sudo semanage port -a -t ssh_port_t -p tcp 2222
- 客户端连接测试:使用SSH客户端(如PuTTY、Xshell)以新端口连接,确保用户认证和权限正常。
- 禁止root登录:结合端口修改,可进一步禁用root直接登录(在
sshd_config中设置PermitRootLogin no),提升安全性。
修改SSH端口是Linux服务器安全加固的简单但有效的措施,通过调整配置文件、更新防火墙规则及测试连通性,即可完成操作,需注意的是,安全是一个持续的过程,除修改端口外,还应定期更新SSH软件版本、使用密钥认证等方式综合提升服务器安全性,操作过程中务必谨慎,避免因配置失误导致远程连接中断,建议在非生产环境或业务低峰期进行测试。
















