需立即调整SSH端口配置以解决冲突或安全风险:一、通过宝塔面板图形界面修改并自动放行;二、通过命令行编辑sshd_config并重启服务;三、检查释放被占端口;四、同步更新云平台安全组;五、多维度验证生效。

如果您在宝塔面板安装后发现SSH端口(如22)与其他服务发生冲突,导致无法正常启用或存在安全风险,则需立即调整SSH端口配置。以下是解决此问题的步骤:
一、通过宝塔面板图形界面修改SSH端口
该方法无需手动编辑系统文件,由宝塔防火墙自动同步放行新端口,操作直观且不易出错。
1、使用浏览器访问宝塔面板(如 http://服务器IP:8888),输入账号密码完成登录。
2、在左侧导航栏点击 安全,进入安全模块主界面。
3、在页面中找到 SSH管理 区域,点击 SSH端口 输入框右侧的编辑按钮。
4、将原端口号(如22)替换为自定义端口,推荐选择 10000–65535 范围内未被占用的端口(例如5968、10022)。
5、点击 修改 按钮,弹出确认提示后点击【确定】。
6、等待页面提示“修改成功”,此时宝塔防火墙已自动添加该端口放行规则。
二、通过SSH命令行修改SSH配置文件
该方法适用于面板无法访问、需批量部署或需保留多端口监听等高级场景,需谨慎操作并确保至少保留一个可用登录通道。
1、使用当前可用SSH连接登录服务器(如仍可通过22端口登录)。
2、执行命令备份原始配置:cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak。
3、使用vi编辑器打开配置文件:vi /etc/ssh/sshd_config。
4、定位到包含 #Port 22 的行,在其下方新增一行:Port 5968(将5968替换为目标端口)。
5、确保 PermitRootLogin 和 PasswordAuthentication 配置符合当前登录需求,避免锁死。
6、保存退出后,重启SSH服务:systemctl restart sshd(CentOS 7+/Ubuntu 16.04+)或 service ssh restart(旧版系统)。
7、立即在新终端窗口尝试用新端口连接:ssh -p 5968 root@服务器IP,验证是否生效。
三、检查并释放被占用的SSH目标端口
若修改后新端口无法监听,可能已被其他进程占用,需主动排查并终止干扰进程。
1、执行命令检查端口占用情况:lsof -i :5968(将5968替换为您设置的端口)。
2、若返回结果含PID和进程名(如python、nginx),记录该PID值。
3、执行命令终止占用进程:kill -9 [PID](例如 kill -9 12345)。
4、再次运行 lsof -i :5968,确认无输出即表示端口已释放。
5、重新执行SSH服务重启命令,确保新端口开始监听。
四、同步更新云服务器安全组规则
云平台(如阿里云、腾讯云、华为云)的安全组策略独立于系统防火墙,若未放行新SSH端口,外部连接将被直接拦截。
1、登录对应云服务商控制台,定位至该服务器实例的 安全组配置 页面。
2、点击 配置规则 或类似入口,进入入方向规则列表。
3、点击 添加安全组规则,协议类型选择 TCP,端口范围填写 5968/5968(或您设置的具体端口)。
4、授权对象建议设为 指定IP段(如您的办公网络出口IP),避免开放0.0.0.0/0带来风险。
5、保存规则后,等待10–30秒策略同步完成。
五、验证SSH端口修改是否生效
验证环节需覆盖连通性、服务状态与日志响应三个维度,确保修改完整落地。
1、在本地终端执行:telnet 服务器IP 5968,若返回 Connected to ... 即表示端口可达。
2、登录服务器后执行:netstat -tuln | grep :5968,确认sshd进程正在监听该端口。
3、检查SSH登录日志:tail -n 20 /var/log/secure(CentOS/RHEL)或 tail -n 20 /var/log/auth.log(Ubuntu/Debian),查找含 sshd\[.*\]: Accepted 的成功登录记录。
4、在宝塔面板 安全 → SSH管理 页面,确认显示的端口号与实际一致,并查看“成功/失败”登录统计是否实时更新。









