Linux云服务器默认的远程端口是22,这个端口是公开的默认值,很容易被恶意程序扫描并尝试暴力破解,因此很多用户会选择修改远程端口来提升服务器的安全性。修改远程端口的核心操作是调整SSH服务的配置,同时需要同步修改系统的防火墙规则以及云服务商的安全组策略,否则可能出现修改后无法远程连接的情况。

修改SSH服务配置文件
SSH服务的配置文件是sshd_config,默认路径为/etc/ssh/sshd_config,我们需要修改这个文件中的端口配置项。
首先使用文本编辑器打开配置文件,这里以vim为例:
# 使用vim编辑sshd_config文件 vim /etc/ssh/sshd_config
打开文件后,找到#Port 22这一行,默认这一行是被注释掉的,我们需要将注释符号去掉,然后把22修改为自己想要的新端口,端口范围建议在1024到65535之间,避免和已知的服务端口冲突。比如我们修改为2222:
# 修改前的内容 #Port 22 # 修改后的内容 Port 2222
修改完成后保存并退出文件。如果是使用vim编辑,按Esc后输入:wq即可保存退出。
修改完配置文件后,需要重启SSH服务让配置生效,不同Linux发行版的重启命令略有区别:
- CentOS、RHEL、Rocky Linux等系统使用以下命令:
# 重启sshd服务 systemctl restart sshd # 设置sshd服务开机自启,避免重启后服务未启动 systemctl enable sshd
- Ubuntu、Debian等系统使用以下命令:
# 重启ssh服务 systemctl restart ssh # 设置ssh服务开机自启 systemctl enable ssh
调整系统防火墙规则
修改完SSH配置后,还需要在系统防火墙中放行新的端口,否则外部请求会被防火墙拦截,无法连接到服务器。
firewalld防火墙(CentOS 7及以上、RHEL 7及以上默认使用)
添加新端口到防火墙允许规则,并重新加载防火墙配置:
# 放行2222端口,--permanent表示永久生效 firewall-cmd --add-port=2222/tcp --permanent # 重新加载防火墙规则 firewall-cmd --reload # 查看当前放行的端口,确认2222端口已经添加 firewall-cmd --list-ports
ufw防火墙(Ubuntu默认使用)
添加新端口的允许规则:
# 允许2222端口的tcp连接 ufw allow 2222/tcp # 重新加载ufw规则 ufw reload # 查看ufw状态,确认规则已生效 ufw status
iptables防火墙(部分老版本系统使用)
添加端口放行规则并保存:
# 添加2222端口的tcp放行规则 iptables -A INPUT -p tcp --dport 2222 -j ACCEPT # 保存iptables规则,不同系统保存命令可能有区别 service iptables save
配置云服务商安全组
除了系统防火墙,云服务器一般还会有云服务商提供的安全组策略,这是第一层网络访问控制,需要在安全组中添加新的端口入站规则,否则外部请求根本无法到达服务器。
不同云服务商的安全组配置入口略有区别,但核心操作都是一致的:
- 登录云服务商的控制台,找到对应云服务器的安全组配置页面
- 添加入站规则,协议选择TCP,端口范围填写你修改的新端口(比如2222),来源可以设置为0.0.0.0/0允许所有IP访问,也可以根据需求设置为指定IP段
- 保存安全组规则,等待规则生效
验证端口是否生效
完成以上所有配置后,不要直接断开当前的远程连接,先新开一个远程连接窗口,使用新的端口尝试连接,确认可以正常连接后再关闭旧的连接窗口。
使用ssh命令连接测试的命令格式如下:
# 使用新端口连接服务器,username是服务器用户名,server_ip是服务器公网IP ssh -p 2222 username@server_ip
如果能够正常连接,说明端口修改成功。如果连接失败,可以按照以下步骤排查问题:
- 检查
sshd_config文件中的端口配置是否正确,SSH服务是否正常重启 - 检查系统防火墙是否放行了新端口
- 检查云服务商安全组是否添加了新端口的入站规则
- 检查服务器是否有其他安全软件拦截了新端口的访问
注意事项
修改远程端口前一定要先在安全组和系统防火墙中放行新端口,再修改SSH配置,否则修改后SSH服务重启就会立刻断开连接,需要到云服务商控制台使用VNC方式登录服务器才能修复。
建议不要删除默认的22端口配置,可以先添加新端口,等新端口验证可以正常连接后,再考虑是否关闭22端口,避免操作失误导致无法远程连接服务器。
如果服务器有多个用户使用,修改端口后需要通知所有用户使用新端口连接,避免其他用户无法登录。
LinuxSSH远程端口云服务器sshd_config修改时间:2026-06-17 20:48:17