宝塔面板修改SSH端口防止爆破的完整教程
宝塔面板修改SSH端口防止爆破的完整教程
很多刚接触服务器的站长或运维新手,会直接使用默认的22端口连接SSH。
这也让攻击者有了可乘之机——他们通过自动化脚本扫描22端口进行暴力破解。
修改SSH端口是最简单却最有效的防御手段之一。
本文以宝塔面板为中心,教你安全修改SSH端口,操作过程零基础也能独立完成。
准备工作
在动手之前,请确认以下条件:
- 已经安装好宝塔面板,并且能正常登录后台。
- 当前SSH连接是 root用户 或具有sudo权限的用户,因为修改端口和服务重启需要管理员权限。
- 服务器防火墙(如iptables/firewalld)没有被禁用,否则改端口后可能无法连接。
- 重要:保留当前SSH会话不要关闭,用于万一改错还能通过旧端口恢复。
第一步:通过宝塔面板修改SSH端口
宝塔面板提供了一种免命令行的方法,更适合新手:
- 登录宝塔面板后台,在左侧菜单找到 “安全” 并点击。
- 在安全页面中,找到 “SSH端口” 一栏,点击右侧的 “修改端口” 按钮。
- 在弹出的窗口中输入你想使用的新端口(比如2222),端口号建议在10000-65535之间,避免占用知名服务端口。
- 点击 “保存”,宝塔会自动更新SSH配置文件。
如果宝塔提示“操作成功”,说明配置文件已写入。但此时SSH服务还没重启,新端口并未生效。
第二步:放行新端口并重启SSH服务
修改SSH端口后,必须让防火墙放行新端口,否则重启SSH后你会被拒之门外。
放行防火墙规则
在宝塔面板 “安全” 页面的 “系统防火墙” 区域,点击 “添加端口规则”:
- 端口:填写刚刚设置的新端口(如2222)
- 协议:选择TCP
- 来源:如果不想限制IP,填写
0.0.0.0/0(允许所有IP访问) - 备注:随意填写,如“SSH新端口”
- 点击 “提交”
重启SSH服务
回到宝塔面板的 “软件商店”,找到已安装的 OpenSSH(或者在 “安全-系统服务” 中),点击 “重启”。
你也可以通过命令行重启(更直接):
systemctl restart sshd
# 或
service sshd restart
避坑指南
- 千万别关闭当前SSH会话:修改端口后一定要先测试新端口能连接,再关闭旧会话。很多新手直接在当前窗口操作,一旦新端口不通,就再也连不上服务器了。
- 云服务商安全组也要放行:阿里云、腾讯云等平台除了服务器内部的防火墙,还有独立的安全组规则。记得去云控制台 安全组/网络ACL 里添加入方向TCP规则,放行新端口。
- SELinux阻挠:如果你的服务器开启了SELinux(一般CentOS默认开启),修改SSH端口后可能会被强制阻止。检查SELinux状态:
getenforce
如果显示 Enforcing,可以临时关闭(生产环境不建议永久关闭):
setenforce 0
并修改 /etc/selinux/config 将 SELINUX=enforcing 改为 SELINUX=disabled(需要重启)。
- 端口冲突:检查新端口是否被其他服务占用,可以使用:
netstat -tlnp | grep 2222
如果显示有监听进程,换一个端口。
验证新端口是否生效
- 打开一个新的终端窗口(不要关旧会话)。
- 执行命令:
ssh root@你的服务器IP -p 新端口
如果成功登录,说明修改生效。
如果提示 Connection refused 或超时,按下面顺序排查:
- 防火墙是否放行了新端口(宝塔面板+云安全组)?
- SSH服务是否已经重启?
- SELinux是否拦截?
- 新端口是否被占用?
最后一步:确认新端口可用后,再回到宝塔面板删除22端口的防火墙规则(不删除也没关系,但为了安全建议删除),然后关闭旧的SSH会话。
常见问题解答
问:修改端口后宝塔面板还能正常连接吗?
答:宝塔面板自身使用8888端口(默认),与SSH端口无关,不受影响。
问:我用的是阿里云,还需要额外操作吗?
答:需要。除了宝塔内的防火墙,还要去阿里云ECS控制台的安全组中添加入方向规则,放行新端口的TCP访问。腾讯云、华为云同理。
问:不小心把所有远程连接都断了怎么办?
答:如果还有旧会话未关闭,可以尝试重新配置。如果没有旧会话,只能通过云服务商的VNC(管理终端)或主机商提供的救援模式登录服务器,然后还原配置。
总结
通过宝塔面板修改SSH端口加上防火墙放行,是新手也能快速实施的安全加固方案。
记住保留旧会话、检查云安全组、避开常见陷阱,就能在不影响服务的前提下大幅降低被爆破的风险。
如果你希望进一步增强安全,建议同时配置SSH密钥登录并禁用密码登录,将爆破概率降到最低。
---
*本教程基于宝塔面板7.x版本编写,不同版本界面可能略有差异,但核心操作路径一致。
*