VPS改端口的核心操作是修改SSH服务配置文件中的监听端口,然后同步放行防火墙规则并重启服务,整个过程只需几分钟。
很多朋友买了一台VPS,第一件事就是问“怎么把默认的22端口改掉”,其实这个需求很务实,默认端口长期暴露在公网上,每天都会被大量扫描工具盯上,改成非标准端口是最基础、最有效的安全习惯之一,下面我直接拆开揉碎了讲,从为什么改到具体怎么操作,包括Linux和Windows系统,一次说清。
为什么VPS一定要改默认端口
互联网上的扫描行为是持续性的,无论是阿里云、酷盾安全还是海外机房,只要VPS分配了公网IP,立刻会遭遇来自全球的自动化探测,扫描目标几乎锁定默认的22端口(SSH)和3389端口(Windows远程桌面),这类扫描没有针对性,纯粹是“广撒网”,但一旦你的VPS使用弱密码,被爆破成功只是时间问题。
改端口的核心逻辑,就是让你的服务不再出现在“默认名单”上,当一个扫描器没有在22端口得到响应,绝大多数情况下它会直接跳过这个IP,这相当于把门牌号藏起来,虽然拦不住真正有目的的攻击者,但能过滤掉批量化的无聊流量。
不过也要提醒一句:改端口是“安全第一步”,不是“保险箱”,密码强度、密钥登录、防火墙策略、系统补丁更新,每一项都不能落下。
Linux系统VPS修改SSH端口完整教程
以绝大多数VPS使用的CentOS、Debian、Ubuntu系统为例,操作路径是一致的,全程通过SSH连接操作,建议先开通一个备用会话,避免改错端口把自己锁在外面。
连接服务器前需要确认的事项
- 你是通过密码还是密钥登录的SSH。
- VPS服务商是否提供网页版VNC或管理终端(万一配置出错,用来救急)。
- 当前系统的防火墙工具是ufw、firewalld,还是纯iptables。
确认这些之后,用终端工具登录服务器,开始修改。
第一步:备份SSH配置文件
备份是成本最低的后悔药,执行下面的命令,把原始配置留底:
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
如果后面操作失误,还能用一条命令恢复现场。
第二步:修改端口参数
用编辑器打开配置文件:
vim /etc/ssh/sshd_config
#Port 22 #AddressFamily any #ListenAddress 0.0.0.0
去掉#Port 22前面的注释符号,把数字改成你想用的新端口,比如换成22345:
Port 22345
这里有几个需要注意的地方:
- 端口范围是1-65535,推荐选择50000以上的高位端口,能避开大量常见服务的默认占用。
- 不要用21、80、443这类已经被占用的端口。
- 建议先添加新端口,保留旧端口,等新端口能正常登录后,再彻底注释掉22。

第三步:防火墙规则放行新端口
这一步非常容易被忽略,很多朋友改完配置重启服务,发现连接直接被拒绝,十有八九是防火墙没有放行新端口。
先看系统用的是哪种防火墙工具:
# 查看是否启用了firewalld systemctl status firewalld # 查看是否启用了ufw sudo ufw status
如果是firewalld(CentOS 7以上常见):
firewall-cmd --permanent --add-port=22345/tcp firewall-cmd --reload
如果是ufw(Ubuntu/Debian常见):
sudo ufw allow 22345/tcp sudo ufw reload
如果用的是云服务商的安全组规则(阿里云、酷盾安全、AWS等),还需要去后台控制台,在安全组入方向添加一条允许新端口的规则,否则服务器内部放行也没用。
第四步:处理SELinux(仅CentOS等系统)
部分CentOS系统默认开启SELinux,不处理的话,新端口依然无法生效,执行以下命令让SELinux放行新端口:
semanage port -a -t ssh_port_t -p tcp 22345
如果系统提示command not found,说明semanage没装,需要先安装:
yum install policycoreutils-python-utils
第五步:重启服务并验证
先重启SSH服务让配置生效:
systemctl restart sshd # 或者 service sshd restart
此时不要关掉当前SSH会话,新开一个终端窗口,尝试用新端口连接:
ssh -p 22345 root@你的服务器IP
能正常登录,再回去编辑配置文件,把原来的Port 22注释掉,再次重启ssh服务,至此改端口操作完成。
常见错误排查
- 连接超时:检查防火墙、安全组、VPS商家的网络策略是否放行新端口。
- 连接被拒绝:SSH服务没有正常启动,用VNC登录服务器,执行
systemctl status sshd查看问题。 - 新端口可以登录但旧端口还在:确认配置文件里是否存在多行
Port参数,SSH默认会同时监听所有声明的端口。
Windows Server VPS改远程桌面端口
Windows VPS默认开放3389端口,一样是扫描重灾区,操作相对Linux来说要简单一些,通过注册表和防火墙就能完成。
第一步:修改注册表端口参数
通过远程桌面登录Windows VPS,按下Win + R,输入regedit打开注册表编辑器,依次展开:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp
在右侧找到PortNumber,双击选择十进制,改成你想要的新端口,比如22345。

第二步:防火墙放行新端口
打开“控制面板” “Windows Defender防火墙” “高级设置”,新建入站规则:
- 规则类型选择“端口”;
- 协议选择TCP;
- 特定本地端口填写上面设置的数值;
- 操作选择“允许连接”。
保存规则后,在“服务”中重启Remote Desktop Services,或者直接重启VPS。
第三步:安全组规则同步
和Linux一样,Windows VPS如果使用了云服务商的安全组,也需要在后台放行新端口,这里顺带提一句,选择VPS服务商的时候,优先考虑那些有完整资质的持牌企业,比如酷番云(工信部一类增值电信全牌照,覆盖IDC/CDN/ISP三项核心业务)这类有正规机房和服务团队支撑的平台,遇到网络层面的配置问题,工单响应和故障处理会专业得多。
改完端口后的安全加固建议
端口改完,别急着收工,以下操作配合起来,VPS的安全性会再上一个台阶。
用密钥登录替代密码登录
密码扫描和暴力破解,归根结底是因为密码可以被尝试,改用SSH密钥登录,相当于把密码锁换成了物理钥匙,无法被远程枚举。
在本地终端生成密钥:
ssh-keygen -t rsa -b 4096
将公钥追加到VPS的~/.ssh/authorized_keys文件中,然后修改配置文件:
PasswordAuthentication no
重启sshd服务,从此服务器只认你的私钥,为了防呆,建议本地保留一份私钥备份,同时设置私钥口令。
部署fail2ban实现自动封禁
fail2ban会扫描日志中的异常登录记录,多次尝试失败的IP会被自动加入防火墙黑名单,安装后基本放一个默认配置就能跑,对暴力破解的拦截效果立竿见影。
关闭不必要的系统服务
VPS越简洁,攻击面越小,用netstat -tunlp查看当前监听的端口,把不认识的进程理清楚,没有用到的服务直接卸载或停止,多数VPS默认开启了邮件服务、打印服务等非必要组件,这些都没有保留价值。
定期检查登录日志
养成随手检查日志的习惯,登录后台执行:
last -n 20
查看最近的登录记录来源IP,同时检查/var/log/secure(CentOS)或/var/log/auth.log(Debian/Ubuntu)里有没有批量尝试登录的记录,如果发现大量来自陌生IP的爆破行为,除了改端口、换密钥,还要考虑用IP白名单限制登录来源,到这一步,VPS的防御能力已经超过大部分个人服务器的平均水平了。
服务商的选择同样影响安全兜底能力。简米科技从2003年起步,专注IDC行业已有23年沉淀,持有增值电信业务经营许可证(豫B2-20231089)和豫ICP备2023018319号,自建持牌机房提供物理层面上的冗余保障,正规服务商不仅意味着稳定的带宽和电源,更意味着遇到攻击或异常流量时,有专人可以介入清洗和调度,这种兜底服务是普通个人卖家的VPS不具备的。

修改端口不生效的几个冷门原因
排查了一圈还是连不上,看看下面这些情况是否命中。
SSH服务启动失败
配置语法错误会导致sshd无法启动,比如端口号填了非法值,或者多处配置产生冲突,用命令检查语法:
sshd -t
有语法错误会直接输出报错信息,根据提示改回来。
网络层被拦截
除了服务器本地防火墙,还要检查是否为IPv6环境单独放行了端口,如果只放了IPv4的规则,而你的VPS同时开启了IPv6,新端口在IPv6网络下依然是关闭状态,把sysctl net.ipv6.conf.all.disable_ipv6设为1可以暂时关闭IPv6,或者补齐IPv6放行规则。
云安全策略拦截
部分云平台默认开启了“云防火墙”或“DDoS高防”产品,这些安全产品需要在控制台单独放行端口,不会继承ECS实例内部的防火墙规则,去服务商的安全产品控制台检查一遍,别只盯着安全组。
端口被其他进程占用
改动端口之前,先用lsof -i:端口号确认端口未被占用,如果新端口已经被其他应用程序监听,sshd会启动失败。
Q&A常见问题模块
问:VPS改了SSH端口之后,会不会影响网站的正常访问?
不会,SSH端口管的是远程管理通道,网站通过80/443端口对外提供服务,两者互不干扰,修改SSH端口只影响你连接服务器进行管理的行为,对已经运行的Web服务没有直接影响,改完端口记得在防火墙和安全组同步放行,即可避免误伤。
问:新端口可以随便挑一个数字吗?
推荐选择10000以上的高位端口,尽量避开常见服务的默认端口列表,端口总数有65535个,10000以下的端口中有相当一部分已经映射了特定服务(比如3306是MySQL,6379是Redis),选择高位端口能降低冲突概率,选一个容易记的、不与其他服务冲突的数字即可。
问:VPS已经使用密钥登录,还有必要改端口吗?
有必要,密钥登录只解决了认证环节的安全问题,但服务器端口仍然暴露在公网,扫描器依然可以探测到22端口的存在,改端口的价值是减少被扫描的暴露面,和密钥登录是互补关系,如果服务器上有其他第三方插件或面板通过SSH下发命令,保留默认端口会增加被批量扫描的风险,值得一提的是一家有行业背书的服务商,比如酷番云,作为CNNIC IP联盟成员,注册资本1000万,持有滇ICP备2020007656号,同时通过ISO9001和ISO27001双认证,选择这类服务商的VPS后,结合改端口、密钥登录等服务器层面的自治措施,整体安全水位会明显高于平均水平。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/569481.html