搬瓦工中文社区

 找回密码
 立即注册
查看: 92|回复: 0

搬瓦工VPS通过 Root Shell 修改 sshd 配置与防火墙设置

[复制链接]
发表于 2026-7-5 21:40 | 显示全部楼层 |阅读模式
搬瓦工 KiwiVM 控制面板提供了三种 Root Shell 工具,可以直接在浏览器中操作服务器,而不需要依赖 SSH 客户端。对于修改 sshd 配置和防火墙规则这类操作来说,Root Shell 有一个天然的优势:它完全独立于 SSH 服务运行,即使 SSH 服务出了问题,你依然可以通过 Root Shell 进入系统进行修复。

这一点对新手来说尤其重要。修改 sshd 配置和防火墙是 VPS 管理中最容易把自己锁在门外的操作,端口改错了、防火墙规则写反了、sshd 重启失败了,都有可能让你无法通过 SSH 连上服务器。有 Root Shell 在手,就相当于给自己留了一条后路。

本文将详细介绍如何利用搬瓦工 KiwiVM 面板的 Root Shell 功能,在不同操作系统上完成 sshd 配置修改和防火墙管理。覆盖 Ubuntu/Debian、CentOS 7/8 以及 Rocky Linux 9 三大主流系统,适用于搬瓦工 KiwiVM 控制面板当前支持的所有可安装系统。

本文适用场景
1. 需要修改 SSH 端口、禁用密码登录等 sshd 参数
2. 需要配置或修复防火墙规则(firewalld / iptables / ufw)
3. SSH 连接出问题,需要通过 Root Shell 紧急修复
4. 首次拿到搬瓦工 VPS,需要进行基础安全加固

一、KiwiVM Root Shell 工具概述

1.1 三种 Root Shell 的区别
搬瓦工 KiwiVM 面板提供了三种不同的 Root Shell 工具,定位各有不同。进入方式都是在 KiwiVM 面板左侧菜单中找到对应选项并点击 Launch 按钮。

功能Root shell - basicRoot shell - advancedRoot shell - interactive
界面形式单行命令输入框多行命令输入框完整 Web 终端(VNC)
交互能力不支持交互不支持交互完整交互支持
适用场景查看状态执行简单命令批量执行命令输出较长的命令vi/nano 编辑文件、修复 SSH/防火墙、密码修改等
编辑配置文件不适合可用 sed 替换vi/nano 均可
推荐指数日常查看批量操作本文推荐


对于修改 sshd 和防火墙这类操作,Root shell - interactive(交互式 Shell)是最推荐的选择。因为修改配置文件通常需要用到 vi 或 nano 这类文本编辑器,只有 interactive 模式才支持完整的交互操作。

1.2 进入 Root shell - interactive
具体步骤如下:
1. 登录搬瓦工官网 bwh81.net,进入 Services → My Services,找到你的 VPS 实例。
2. 点击 Open KiwiVM(或 KiwiVM Control Panel)进入控制面板。
3. 在左侧菜单中找到 Root shell – interactive,点击进入。
4. 点击 Launch 按钮,稍等几秒,会弹出一个基于 Web 的终端窗口。
5. 输入用户名 root,回车后输入密码(密码输入时不会显示任何字符,这是正常的),回车即可登录。

关于密码:Root shell - interactive 使用的是 VPS 的 root 密码,即安装系统时分配的密码。如果忘记了,可以在 KiwiVM 面板的 Root password modification 中重新生成。注意重置密码需要 VPS 处于运行状态。

1.3 Root shell - basic/advanced 的使用场景
虽然本文主要推荐 interactive 模式,但 basic 和 advanced 在某些场景下也有用处。例如你只想快速查看当前 sshd 端口或防火墙状态,用 basic 模式输入一条命令就行,不需要登录完整终端。常用的快速查看命令:

  1. # 查看当前 SSH 端口
  2. grep -i '^Port' /etc/ssh/sshd_config

  3. # 查看 sshd 服务状态
  4. systemctl status sshd

  5. # 查看防火墙状态(firewalld)
  6. firewall-cmd --state

  7. # 查看防火墙状态(ufw)
  8. ufw status
复制代码


这些命令不需要交互,在 basic 或 advanced 模式下直接粘贴执行即可。但涉及到编辑配置文件的操作,务必切换到 interactive 模式。

二、通过 Root Shell 修改 sshd 配置

2.1 sshd 配置文件位置
SSH 服务的主配置文件位于 /etc/ssh/sshd_config,所有系统都一样。需要注意的是 Rocky Linux 9 / AlmaLinux 9 引入了 /etc/ssh/sshd_config.d/ 目录,支持以 .conf 后缀的配置片段方式加载。但主配置文件路径不变,直接编辑主文件也完全可以。
在开始修改之前,强烈建议先备份原始配置文件:
  1. cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
复制代码


2.2 修改 SSH 端口
搬瓦工在安装系统时会分配一个随机的高位端口作为默认 SSH 端口,这个端口可以在 KiwiVM 面板的 Main Controls 页面看到。如果需要修改成其他端口,操作步骤如下:

步骤一:编辑配置文件
在 Root shell - interactive 中登录后,使用 vi 编辑配置文件:
  1. vi /etc/ssh/sshd_config
复制代码

找到 Port 所在的行(可以按 / 然后输入 Port 进行搜索),将端口号修改为你想要的值。如果该行前面有 # 号,需要先去掉注释符。
按 i 进入编辑模式,修改完成后按 Esc,然后输入 :wq 回车保存退出。
建议选择 10000-65535 之间的高位端口,避开常见服务端口。

步骤二:处理 SELinux(仅 CentOS / Rocky Linux)
如果你的系统是 CentOS 7/8 或 Rocky Linux 9,并且 SELinux 处于 enforcing 状态,直接重启 sshd 会失败。需要先告知 SELinux 允许新端口:
  1. # 查看 SELinux 状态
  2. getenforce

  3. # CentOS 7 安装工具:
  4. yum install -y policycoreutils-python

  5. # CentOS 8 / Rocky Linux 9 安装工具:
  6. dnf install -y policycoreutils-python-utils

  7. # 添加新端口到 SELinux 白名单(例如 36912)
  8. semanage port -a -t ssh_port_t -p tcp 36912
复制代码


步骤三:配置防火墙放行新端口
在修改 sshd 端口之后、重启 sshd 服务之前,要确保防火墙已经放行了新端口。

步骤四:重启 sshd 服务
  1. # Rocky Linux 9 建议先做语法检查
  2. sshd -t

  3. # 所有系统通用的重启命令
  4. systemctl restart sshd
复制代码


2.3 其他常见 sshd 配置修改
除了端口,以下几个 sshd 参数也经常需要调整。同样在 /etc/ssh/sshd_config 中修改:

参数推荐值说明
PermitRootLoginprohibit-password允许 root 登录但禁止密码方式,仅允许密钥
PasswordAuthenticationno禁用密码登录,仅允许密钥登录(需先配好密钥)
PubkeyAuthenticationyes启用公钥认证
MaxAuthTries3最大认证尝试次数,减少暴力破解风险
ClientAliveInterval300每 300 秒发送一次心跳,防止空闲断连


禁用密码登录前请确认:在将 PasswordAuthentication 设为 no 之前,请务必确认 SSH 密钥已经正确配置并能成功登录。否则一旦重启 sshd,密码和密钥都用不了,就只能靠 Root Shell 来救了。

三、通过 Root Shell 管理防火墙

3.1 Ubuntu / Debian — ufw 防火墙
搬瓦工安装的 Ubuntu/Debian 系统默认情况下 ufw 通常是未启用的。
查看 ufw 状态:
  1. ufw status
复制代码

如果返回 Status: inactive,说明 ufw 未启用。如果 ufw 已启用,放行新 SSH 端口的操作:
  1. # 放行新端口(例如 36912)
  2. ufw allow 36912/tcp

  3. # 如果要移除旧端口的放行规则
  4. ufw delete allow 22/tcp

  5. # 查看当前规则
  6. ufw status numbered
复制代码


3.2 CentOS 7/8 — firewalld 防火墙
查看 firewalld 状态:
  1. systemctl status firewalld
  2. # 或者
  3. firewall-cmd --state
复制代码

firewalld 已启用时,放行新 SSH 端口:
  1. # 永久放行新端口
  2. firewall-cmd --permanent --add-port=36912/tcp

  3. # 重新加载使永久规则生效
  4. firewall-cmd --reload

  5. # 查看当前放行的所有端口
  6. firewall-cmd --list-ports
复制代码


3.3 Rocky Linux 9 — firewalld 防火墙
Rocky Linux 9 同样使用 firewalld,操作方式与 CentOS 7/8 基本一致。
  1. # 查看防火墙状态
  2. firewall-cmd --state

  3. # 放行新 SSH 端口
  4. firewall-cmd --permanent --add-port=36912/tcp
  5. firewall-cmd --reload
复制代码


3.4 旧版 CentOS 6 / 手动安装的 iptables
如果你的系统使用的是 iptables:
  1. # 放行新端口(务必到前面)
  2. iptables -I INPUT -p tcp --dport 36912 -j ACCEPT

  3. # 查看当前规则
  4. iptables -L -n
复制代码


四、各系统完整操作流程对比
下面这张表把三个系统上修改 SSH 端口的完整流程放在一起对比,方便快速查阅。假设目标端口为 36912。

操作步骤Ubuntu / DebianCentOS 7/8Rocky Linux 9
编辑配置vi /etc/ssh/sshd_configvi /etc/ssh/sshd_configvi /etc/ssh/sshd_config
SELinux不需要处理semanage port -a -t ssh_port_t -p tcp 36912semanage port -a -t ssh_port_t -p tcp 36912
防火墙工具ufwfirewalldfirewalld
放行端口ufw allow 36912/tcpfirewall-cmd --permanent --add-port=36912/tcpfirewall-cmd --permanent --add-port=36912/tcp
语法检查sshd -tsshd -tsshd -t
重启服务systemctl restart sshdsystemctl restart sshdsystemctl restart sshd


五、常见实战场景

5.1 场景一:SSH 端口被封,通过 Root Shell 紧急更换
1. 通过 KiwiVM 面板进入 Root shell - interactive 并登录。
2. 编辑 /etc/ssh/sshd_config,将 Port 改为新端口。
3. 如果是 CentOS/Rocky,处理 SELinux。
4. 如果防火墙已启用,放行新端口。
5. 重启 sshd 服务,使用 SSH 客户端以新端口连接测试。

5.2 场景二:改坏了 sshd_config,SSH 服务起不来
  1. # 1. 进入 Root shell - interactive 并登录
  2. # 2. 检查配置文件语法
  3. sshd -t

  4. # 3. 或者直接恢复备份
  5. cp /etc/ssh/sshd_config.bak /etc/ssh/sshd_config

  6. # 4. 重启 sshd
  7. systemctl restart sshd
复制代码


5.3 场景三:防火墙规则写错,把自己锁在外面
进入 Root shell - interactive 后直接关闭防火墙或清除规则,恢复连接后,再认真重新配置。
  1. # Ubuntu/Debian
  2. ufw disable

  3. # CentOS / Rocky Linux
  4. systemctl stop firewalld
复制代码


5.4 场景四:首次安全加固的推荐操作顺序
1. 修改 root 密码为强密码
2. 配置 SSH 密钥登录
3. 修改 SSH 端口为自定义高位端口
4. 禁用密码登录(确认密钥能用之后)
5. 配置防火墙,仅开放必要端口

六、Root Shell 使用注意事项

6.1 Root shell - interactive 的限制
- 无法直接复制粘贴长文本,建议改用 advanced 模式或写成脚本下载。
- 会话超时后需要重新登录。
- 屏幕分辨率有限,建议用 less 或 more 分页查看。
- VPS 必须处于运行状态。

6.2 用 sed 替代 vi 的技巧
在 Web 终端里用 vi 不太顺手,可以用 sed 命令精确替换(适用于 basic 或 advanced 模式):
  1. # 将 SSH 端口从 28456 改为 36912
  2. sed -i 's/^Port 28456/Port 36912/' /etc/ssh/sshd_config

  3. # 禁用密码登录
  4. sed -i 's/^PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config

  5. # 修改完后记得重启 sshd
  6. systemctl restart sshd
复制代码


6.3 终极兜底方案:重装系统
如果 sshd 和防火墙配置彻底改坏了,Root Shell 也修不好,还有最后一招:通过 KiwiVM 面板的 Install new OS 功能重装系统。注意重装系统会清除所有数据,请提前做好备份。

七、总结
Root Shell 是搬瓦工 KiwiVM 面板中一个容易被忽视但极其实用的功能。对于 sshd 配置和防火墙管理来说,它既是操作工具,也是安全保障。这里再强调几个关键点:
- 修改 sshd 或防火墙时,始终保持一个 Root Shell 会话作为备用通道。
- CentOS / Rocky Linux 用户修改 SSH 端口时不要忘记处理 SELinux。
- 配置防火墙前先确认 SSH 端口已放行,避免把自己锁在门外。
- 善用 sed 命令,可以在非交互模式下快速完成配置修改。

🔥 个人与中小站长精选

强烈推荐兼顾性价比与访问速度的完美平衡

美国普通 KVM
$49.99 /年
新手盲选,最便宜套餐
  • ✓ 2CPU / 1GB 内存
  • ✓ 20GB SSD 硬盘
  • ✓ 1000G / 月流量
  • ✓ 1Gbps 峰值带宽
  • ✓ DC2 / DC8 多机房
绝对首选
洛杉矶 CN2 GIA
$49.99 /季
强烈推荐,性价比之选
  • ✓ 2CPU / 1GB 内存
  • ✓ 20GB SSD 硬盘
  • ✓ 1000G / 月流量
  • 2.5Gbps 超大带宽
  • ✓ DC6 / DC9 高端机房
新加坡 CN2 GIA
$49.99 /季
亚洲优化,直连低延迟
  • ✓ 2CPU / 2GB 内存
  • ✓ 40GB SSD 硬盘
  • ✓ 500GB / 月流量
  • ✓ 1.5Gbps 峰值带宽
  • ✓ SG8 CN2 GIA 机房

👑 高端与极致速度专区

土豪专属,物理距离与顶级优化的双重保障

日本大阪 CN2 GIA
$49.99 /季
三网直连,亚洲性价比
  • ✓ 2CPU / 2GB 内存
  • ✓ 40GB SSD 硬盘
  • ✓ 500GB / 月流量
  • ✓ 1.5Gbps 峰值带宽
  • ✓ OS6 CN2 GIA 机房
日本东京 CN2 GIA
$89.99 /月
企业首选,国外顶尖VPS
  • ✓ 2CPU / 2GB 内存
  • ✓ 40GB SSD 硬盘
  • ✓ 500GB / 月流量
  • ✓ 1.2Gbps 峰值带宽
  • ✓ TY8 CN2 GIA 机房
顶配
中国香港 CN2 GIA
$89.99 /月
极致速度,堪比国内VPS
  • ✓ 2CPU / 2GB 内存
  • ✓ 40GB SSD 硬盘
  • ✓ 500GB / 月流量
  • 1Gbps 香港专线
  • ✓ HK8 CN2 GIA 机房
搬瓦工普通 KVM 入门套餐 (便宜)
内存CPU硬盘流量带宽操作
1GB2核20GB1000G1Gbps立即购买
2GB3核40GB2000G1Gbps立即购买
4GB4核80GB3000G1Gbps立即购买
8GB5核160GB4000G1Gbps立即购买
16GB6核320GB5000G1Gbps立即购买
24GB7核480GB6000G1Gbps立即购买
美国洛杉矶 LA CN2 GIA 推荐套餐 (推荐)
内存CPU硬盘流量带宽操作
1GB2核20GB1000G2.5Gbps立即购买
2GB3核40GB2000G2.5Gbps立即购买
4GB4核80GB3000G2.5Gbps立即购买
8GB6核160GB5000G5Gbps立即购买
16GB8核320GB8000G5Gbps立即购买
32GB10核640GB10000G10Gbps立即购买
64GB12核1280GB12000G10Gbps立即购买
64GB12核1280GB15000G10Gbps立即购买
64GB12核1280GB20000G10Gbps立即购买
64GB24核1280GB12000G10Gbps立即购买
美国洛杉矶 CN2 GIA SLA 高端套餐 (保障)
内存CPU硬盘流量带宽操作
1GB2核20GB1000G2.5Gbps立即购买
2GB3核40GB2000G2.5Gbps立即购买
4GB4核80GB3000G2.5Gbps立即购买
8GB6核160GB5000G5Gbps立即购买
16GB8核320GB8000G5Gbps立即购买
32GB10核640GB10000G10Gbps立即购买
64GB12核1280GB12000G10Gbps立即购买
64GB12核1280GB15000G10Gbps立即购买
64GB12核1280GB20000G10Gbps立即购买
新加坡 SINGAPORE CN2 GIA 高端套餐 (快速)
内存CPU硬盘流量带宽操作
2GB2核40GB500G1.5Gbps立即购买
4GB4核80GB1000G1.5Gbps立即购买
8GB6核160GB2000G2.5Gbps立即购买
16GB8核320GB4000G2.5Gbps立即购买
32GB10核640GB6000G5Gbps立即购买
64GB12核1280GB8000G5Gbps立即购买
日本大阪 OSAKA CN2 GIA 高端套餐 (快速)
内存CPU硬盘流量带宽操作
2GB2核40GB500G1.5Gbps立即购买
4GB4核80GB1000G1.5Gbps立即购买
8GB6核160GB2000G1.5Gbps立即购买
16GB8核320GB4000G1.5Gbps立即购买
32GB10核640GB6000G1.5Gbps立即购买
64GB12核1280GB8000G1.5Gbps立即购买
日本东京 TOKYO CN2 GIA 顶级套餐 (最快)
内存CPU硬盘流量带宽操作
2GB2核40GB500G1.2Gbps立即购买
4GB4核80GB1000G1.2Gbps立即购买
8GB6核160GB2000G1.2Gbps立即购买
16GB8核320GB4000G1.2Gbps立即购买
32GB10核640GB6000G1.2Gbps立即购买
64GB12核1280GB8000G1.2Gbps立即购买
中国香港 HONG KONG CN2 GIA 顶级套餐 (最快)
内存CPU硬盘流量带宽操作
2GB2核40GB500G1Gbps立即购买
4GB4核80GB1000G1Gbps立即购买
8GB6核160GB2000G1Gbps立即购买
16GB8核320GB4000G1Gbps立即购买
32GB10核640GB6000G1Gbps立即购买
64GB12核1280GB8000G1Gbps立即购买
📢 官方最新公告: 目前搬瓦工全网无优惠码,此前流传所有代码均已失效,请直接点击上方按钮选购官方在售套餐。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|搬瓦工VPS论坛

GMT+8, 2026-7-28 20:24 , Processed in 0.020467 second(s), 6 queries , Gzip On, Redis On.

Powered by Bandwagonhost x5

This is not the official forum of Bandwagonhost

快速回复 返回顶部 返回列表