很多用户在拿到搬瓦工 VPS 后,第一次登录 SSH 时都会愣一下:为什么端口不是常见的 22,而是一长串随机数字?这是搬瓦工为了减少被黑客扫描而采取的安全措施,但对使用者来说,每次都要输入 -p 34567 这样的命令,既麻烦又难记。

搬瓦工VPS怎样修改默认端口
如果你更习惯直接使用标准的 22 端口,完全可以自己修改配置。这样一来,不仅方便输入和记忆,还能兼容大部分运维工具、脚本和面板,避免因为随机端口而带来的兼容性问题。当然,在修改前后要注意防火墙和 KiwiVM 面板的设置,否则很容易出现“改完就连不上服务器”的情况。
搬瓦工中文网将手把手教你如何安全地把搬瓦工 VPS 的 SSH 端口改回 22,包括修改前的准备、防火墙放行、配置修改、测试验证以及掉线后的自救方法。按照步骤来操作,即使你是新手,也能顺利完成。
对于我们购买的VPS大多数默认端口都是 22,但是搬瓦工为了安全考虑它的端口是随机生成的,搬瓦工VPS每重新安装一次系统后端口也会随着改变。当我们购买搬瓦工VPS多了的话就很难记住每台机器的端口号,另外当我们安装面板有的面板只开通了20、21、22、80、等一些常用端口这个时候我们把面板安装成功后就链接不上SSh了,需要放行搬瓦工VPS端口才能解决。
那我们最简单的办法就是把搬瓦工的随机端口更改为22,下面搬瓦工中文网就来说说怎样修改搬瓦工VPS的SSH默认端口号
先放行 22(系统防火墙 + KiwiVM Packet Filter)→ 再改sshd_config为Port 22→ 重启 SSH → 新开终端测试 -p 22 → 确认成功后再关掉旧随机端口。
一、先搞清楚你现在的“随机端口”
登录 KiwiVM 面板(搬瓦工后台) → Main controls → 右侧信息里能看到当前 SSH Port(一长串随机数字)。
用这个端口登录服务器:
ssh -p 随机端口 root@你的服务器IP
这一步只为了进系统做修改,别急着关这个会话。
二、先把 22 端口放行(避免锁死)
思路:在系统防火墙和 KiwiVM 的 Packet Filter 两边都放行 22,保证你改完还能进来。
1)系统防火墙放行 22
CentOS / Rocky / Alma(firewalld) firewall-cmd --permanent --add-port=22/tcp firewall-cmd --reload
Ubuntu / Debian(ufw)
ufw allow 22/tcp ufw reload
-
- 如果提示 ufw 未启用可以先ufw enable(谨慎:确认已有 22/80/443 等规则后再启用)。
传统 iptables(老系统)
iptables -I INPUT -p tcp --dport 22 -j ACCEPT service iptables save 2>/dev/null || iptables-save > /etc/iptables/rules.v4
2)搬瓦工 KiwiVM 的 Packet Filter 放行 22(若你启用了它)
- 面板左侧 Packet Filter →
若使用模板(Template),找到 SSH port 项改为 22,保存并 Apply;
或手动规则:添加一条TCP 22的 ACCEPT 入站规则,然后 Apply。
如果你没启用 Packet Filter,可以跳过本小节。
提醒:系统防火墙和Packet Filter任意一边拦了 22,你都会连不上。所以两个都要检查到位。
三、把 SSH 服务端口改成 22
编辑配置:
nano /etc/ssh/sshd_config
找到与端口相关的行(可能是Port 随机端口或#Port 22),改成:
Port 22
并确保没有其他重复的Port行干扰(有的话删掉或注释)。
重启 SSH 服务:
systemctl restart sshd || systemctl restart ssh
四、测试新端口,确认后再关旧端口
保持你当前会话不要断!
新开一个本地终端测试:
ssh -p 22 root@你的服务器IP
成功登录后,才去移除旧随机端口的放行:
firewalld:
firewall-cmd --permanent --remove-port=随机端口/tcp firewall-cmd --reload
ufw:
ufw delete allow 随机端口/tcp
iptables:删除对应规则或清理并保存。
若启用了 Packet Filter,也记得把那里的旧端口规则删掉并 Apply。
五、万一改挂了,如何自救?
1.Serial Console(强烈推荐)
KiwiVM → Serial Console,进到系统里把/etc/ssh/sshd_config 的 Port改回 随机端口 或22,再执行:
systemctl restart sshd || systemctl restart ssh
2.临时关闭/调整 Packet Filter
如果是 Packet Filter 拦了你,面板里直接 Disable 或修正规则后 Apply。
3.检查系统防火墙
确认 22 已放行且规则已保存、重载。
六、改成 22 之后的安全加固(很重要)
把端口改成 22 以后,扫描会多很多,建议同步做以下加固:
1.启用密钥登录、禁用口令登录
本地生成密钥(示例):
ssh-keygen -t ed25519 ssh-copy-id -p 22 root@服务器IP
服务器 sshd_config 中设置:
PasswordAuthentication no PermitRootLogin prohibit-password PubkeyAuthentication yes
然后重启 SSH。
2.安装 fail2ban(自动封禁暴破 IP)
Debian/Ubuntu:
apt update && apt install -y fail2ban systemctl enable --now fail2ban
CentOS/RHEL:
yum install -y fail2ban systemctl enable --now fail2ban
配置jail.local的sshd规则,常见默认就够用。
3.最小暴露面
只开放你需要的端口;面板 Packet Filter + 系统防火墙双重限制更稳。
备注(给 RHEL 系):如果你未来又想换成非 22 端口,且启用了 SELinux,需要:
yum install -y policycoreutils-python-utils # 视系统而定 semanage port -a -t ssh_port_t -p tcp 新端口
把新端口加入 SELinux 的 ssh_port_t。改 回 22 则无需这步。
七、常见问题(Q&A)
Q1:搬瓦工 KiwiVM 的“随机端口”是哪里定的?
多数官方模板会在初始化时写入一个随机 SSH 端口,并在面板里显示,目的是降低被扫到的概率。
Q2:为何还要改回 22?
团队协作、运维规范、某些自动化脚本/运维面板默认走 22——改回 22 更统一。但要同步做上面的安全加固。
Q3:我只改了sshd_config没动防火墙,结果连不上了?
因为 系统防火墙/Packet Filter 没放行 22。按本文第二节把 22 放行后再试。
Q4:能同时监听 22 和旧随机端口吗?
可以。sshd_config里可以写两行:
Port 22 Port 随机端口
测试都可用后,再删掉你不需要的那个端口,稳妥不掉线。
通过上面搬瓦工中文网分享的步骤,你就能把搬瓦工 VPS 的 SSH 登录端口,从系统默认的随机数字改回常见的 22。这样做的最大好处是:操作更顺手、工具兼容性更好,不再需要每次手动输入一长串端口号。
不过要记住,端口 22 的暴露风险会比随机端口高。因此,建议你在修改端口之后,立刻开启 SSH Key 登录,并配合 Fail2ban、防火墙规则 等多重防护措施,把服务器安全性补足。
搬瓦工本身提供的 KiwiVM 面板 已经自带救援工具,就算操作失误锁住了 SSH,也能通过 Serial Console 或 Packet Filter 调整找回控制权,所以完全不必担心“翻车”。
如果你正在搜索 “搬瓦工修改 SSH 端口”、“BandwagonHost 改回 22” 之类的教程,相信这篇文章已经为你提供了清晰的思路。动手之前请先做好端口放行,再按步骤来,你就能顺利完成修改,让 VPS 使用起来更高效、更省心。