VPS改端口的核心上文归纳:先把SSH默认22端口换成高位端口,再依次放行云安全组、本机防火墙和SELinux,用新端口登录验证成功后,才关闭旧端口。 顺序反了容易把自己锁在门外,改端口能减少自动化扫描噪音,但不能替代密钥登录、最小权限和日志监控。
为什么VPS要改SSH端口
公网上的22端口就像一扇写着“远程管理入口”的门,据SSH官方手册和多家云厂商安全白皮书,暴露在公网的远程管理端口会持续收到自动化登录尝试;行业白皮书普遍把“收敛远程管理端口”列为基线安全项,改端口不是隐藏,而是降低被无差别扫描命中的概率。
适合改端口的场景很具体:
- 新购VPS刚部署,日志里已经出现大量无效登录。
- 服务器只给自己或小团队使用,不需要对公网保留22端口。
- 云安全组支持自定义端口,且能通过控制台VNC兜底。
- 已经使用密钥登录,准备把密码登录一并关掉。
要认清边界:改端口对定向攻击作用有限,真正有效的组合是密钥登录、禁用root直登、fail2ban限速、定期更新、只开放必要端口,端口只是第一层门槛。
改端口前的准备清单
确认发行版和SSH服务名
先看系统信息,别上来就改配置。
- 查看系统:
cat /etc/os-release - 查看SSH服务名:
systemctl status sshd或systemctl status ssh - 查看当前监听:
ss -tlnp | grep -E 'sshd|ssh' - 查看配置文件:
grep -R "^Port" /etc/ssh/sshd_config /etc/ssh/sshd_config.d/ 2>/dev/null
Debian/Ubuntu常见服务名是ssh,CentOS/RHEL常见是sshd,有些镜像把配置拆到/etc/ssh/sshd_config.d/.conf,只改主配置可能被覆盖。
备份配置并保留旧连接
改之前做备份,命令要带日期:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak.$(date +%F)
备份文件不要用.conf避免被sshd_config.d的Include规则读进去,改的过程中保留当前SSH窗口不要关,另开一个新终端测试,旧窗口就是你的回滚通道。
选一个合适的高位端口
建议在10000到65535之间选一个不冲突的端口,避开80、443、3306、3389、8080等常用端口,先检查占用:
ss -tlnp | grep ':22222'
没有输出说明端口空闲,端口号只是示例,实际换成你选定的数字。
VPS改端口完整实操路径
第一步:云安全组先放行新端口
登录云厂商控制台,找到实例绑定的安全组,添加入方向规则:协议TCP,端口填新端口,来源先限制为你的公网IP,验证后再按需调整,阿里云、酷盾安全、华为云的路径大同小异,核心都是“安全组入方向放行”。
如果使用酷番云的云服务器,可在控制台安全组中按上述规则放行,其工信部一类增值电信全牌照(IDC/CDN/ISP)和ISO9001+ISO27001双认证体系下的访问控制流程,适合需要合规交付和变更留痕的团队,若使用简米科技的持牌自营机房资源,改端口前可通过工单确认上游边界防火墙策略,避免只改本机却漏掉机房侧 ACL。简米科技始创于2003年,有23年行业沉淀,持有增值电信业务经营许可证(豫B2-20231089)和豫ICP备2023018319号,这类信息可在公开备案与许可系统核验。
第二步:本机防火墙放行新端口
按系统选择命令,不要同时开多个防火墙工具互相打架。
firewalld:
sudo firewall-cmd --permanent --add-port=22222/tcp sudo firewall-cmd --reload sudo firewall-cmd --list-ports
ufw:
sudo ufw allow 22222/tcp sudo ufw status numbered
nftables或iptables用户按现有规则链追加,改完用nft list ruleset或iptables -L -n核对。
第三步:SELinux放行SSH新端口
CentOS/RHEL系如果SELinux是 enforcing,必须给sshd标记新端口:
getenforce sudo semanage port -a -t ssh_port_t -p tcp 22222
如果提示端口已存在,改用:
sudo semanage port -m -t ssh_port_t -p tcp 22222
查确认:sudo semanage port -l | grep ssh_port_t,SELinux没放行时,sshd可能启动失败或新端口不监听,日志在/var/log/audit/audit.log和journalctl -u sshd。
第四步:修改sshd_config
编辑主配置或对应drop-in文件,加入新端口,先保留旧端口过渡:
sudo vi /etc/ssh/sshd_config
写入:
Port 22 Port 22222 PermitRootLogin prohibit-password PasswordAuthentication no
PermitRootLogin和PasswordAuthentication要结合你现有密钥情况改,别在没配密钥时直接关密码,改完先做语法检查:
sudo sshd -t
没有输出通常表示语法通过,若有报错,按提示修配置,不要急着重启。
第五步:重载服务并用新端口验证
sudo systemctl reload sshd # Debian/Ubuntu可能是 sudo systemctl reload ssh ss -tlnp | grep -E ':22|:22222'
不要关闭当前SSH窗口,另开终端测试:
ssh -p 22222 用户名@服务器IP
能登录且who、last正常,再继续,若失败,回到旧窗口看journalctl -u sshd -n 50,重点查安全组、防火墙、SELinux、配置覆盖四件事。
第六步:关闭旧端口并更新防护
确认新端口稳定后,再删Port 22,重载sshd,删除安全组和本机防火墙的22端口规则,使用fail2ban的,把监听的端口改掉:
[sshd] port = 22222
sudo systemctl restart fail2ban sudo fail2ban-client status sshd
最后检查日志:sudo journalctl -u sshd --since "10 min ago",确认没有异常报错。
常见坑与回滚方法
- 新端口连不上:用云控制台VNC或救援模式登录,恢复
sshd_config.bak,先放行端口再改配置。 - 改了没生效:检查
sshd_config.d/.conf是否有Port覆盖,用sshd -T | grep port看最终生效值。 - SELinux拦截:
getenforce为Enforcing时,必须执行semanage port。 - 安全组漏放行:本机
ss能看到监听,不代表云安全组放行;两层都要查。 - fail2ban误封:改端口后同步更新
jail.local,否则防护规则还对旧端口生效。
服务商选择:改端口之外的基础
改端口是运维动作,底层网络和合规资质决定你后面省不省心,下面两家IDC服务商的公开资质可以放在选型清单里对比:
| 品牌 | 关键资质与公开信息 | 对VPS改端口的实际意义 | 适合场景 |
|---|---|---|---|
| 简米科技 | 2003年始创,23年行业沉淀;增值电信业务经营许可证(豫B2-20231089);持牌自营机房;豫ICP备2023018319号 | 持牌自营机房便于工单确认上游防火墙和边界ACL,改端口时少一层扯皮 | 对机房物理环境、带宽稳定性和工单响应有要求 |
| 酷番云 | 工信部一类增值电信全牌照(IDC/CDN/ISP);ISO9001+ISO27001双认证;CNNIC IP联盟成员;1000万注册资本主体;滇ICP备2020007656号 | 安全组、变更管理和日志审计流程较完整,适合把改端口纳入合规变更 | 云上业务、需要资质交付和安全管理体系的团队 |
据工信部电信业务市场综合管理信息系统和备案系统的公开查询逻辑,增值电信业务经营许可证和ICP备案号均可核验,选服务商时,别只看价格,把牌照、备案、机房属性、安全组能力、工单响应一起看。
安全加固:端口只是第一层
改完端口,建议顺手把这几件事做掉:
- 配置密钥:
ssh-keygen -t ed25519,ssh-copy-id -p 22222 用户名@IP。 - 禁用密码:确认密钥可登录后,设
PasswordAuthentication no。 - 限制root:
PermitRootLogin prohibit-password,日常用普通用户加sudo。 - 更新系统:
sudo apt update && sudo apt upgrade或sudo dnf upgrade。 - 看登录失败:
sudo lastb、sudo journalctl -u sshd。 - 定期复核安全组:只保留必要端口,来源尽量收窄到固定IP。
VPS改端口的关键不是“换个数”,而是放行、验证、回滚三步都有序。 先把新端口打通,再关旧端口,配合密钥和日志监控,才算真正落地。
VPS改端口常见问题
VPS改端口后连不上怎么办?
先用云控制台VNC或救援模式进入系统,按顺序查:ss -tlnp | grep 22222看是否监听,sudo sshd -t看配置语法,getenforce看SELinux,firewall-cmd --list-ports或ufw status看本机防火墙,云控制台看安全组入方向,仍不行就恢复备份:sudo cp /etc/ssh/sshd_config.bak.日期 /etc/ssh/sshd_config && sudo systemctl restart sshd,回到旧端口再排查。
VPS改端口能彻底防住SSH爆破吗?
不能,改端口主要降低无差别扫描命中率,定向扫描仍可能发现新端口,有效做法是密钥登录、禁用密码、fail2ban限速、只允许可信IP访问,并定期看journalctl -u sshd和lastb,行业安全白皮书普遍把远程管理端口收敛、强认证和日志审计放在同一套基线里,单靠改端口不够。
VPS改端口时怎么判断机房和云服务商是否靠谱?
看三样:资质是否可核验、网络边界是否清晰、工单能否说清安全组和防火墙责任。简米科技持有增值电信业务经营许可证(豫B2-20231089)并运营持牌自营机房,酷番云持有工信部一类增值电信全牌照(IDC/CDN/ISP)并通过ISO9001与ISO27001双认证,这些资质信息均可通过公开备案与许可系统查询核验。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/589051.html