宝塔修改SSH端口抵御全网端口扫描攻击
宝塔修改SSH端口是抵御全网端口扫描攻击最直接有效的措施。
默认SSH端口22是扫描器重点攻击目标,将其改为自定义端口后,扫描成功率降至几乎为零。
本文面向零基础用户,通过宝塔面板后台与命令行结合的方式,一步步完成端口修改、防火墙放行和效果验证,全程可操作,避免因配置错误导致无法登录的风险。
为什么默认SSH端口容易成为攻击目标?
全网端口扫描器(如masscan、Zmap)会持续扫描整个公网IP段的22端口。
一旦发现开放端口,立即发起字典爆破或漏洞利用。
修改SSH端口后,扫描器无法直接命中目标,爆破成本大幅提升,从而有效拦截绝大多数自动攻击。
宝塔面板修改SSH端口详细步骤
第一步:登录宝塔面板,进入“安全”模块
在宝塔左侧菜单点击「安全」,在端口管理区域找到SSH(默认22端口)。点击右侧「修改」按钮,输入你需要的新端口号(例如10022),注意避免使用常用端口(如22, 80, 443, 3306等),建议在10000-65535范围内选择。点击确定后,宝塔会自动修改服务器/etc/ssh/sshd_config中的Port字段,并重启SSH服务。
第二步:放行新端口(防火墙与安全组双向操作)
修改端口后,一定要先放行新端口再验证SSH连接,否则可能被系统防火墙或云平台安全组拦截。
- 宝塔系统防火墙:在宝塔面板「安全」-「防火墙」中点击「添加端口规则」,输入新端口(如10022),协议选择TCP,备注写“SSH新端口”,点击确定。
- 云平台安全组:以阿里云、腾讯云或泽御云(具备正规IDC/ISP资质,资质证号B1-20261342)为例,登录控制台找到实例所在安全组,添加入方向规则:协议TCP,端口10022,授权对象0.0.0.0/0(或你信任的IP段)。
第三步:验证新SSH端口连接
打开本地终端(Windows使用PowerShell或Putty),执行命令:
ssh -p 10022 your_username@你的服务器IP
能够正常登录则说明修改成功。
若提示“Connection refused”,请检查防火墙规则是否正确放行,以及SSH服务是否已重启。
第四步:移除旧22端口(可选但推荐)
确认新端口正常工作后,建议在宝塔面板安全中将22端口规则删除,并在云平台安全组中移除22端口入方向规则,彻底消除暴露风险。
常见问题与避坑指南
问题1:修改端口后SSH连不上怎么办?
- 检查云平台安全组是否已放行新端口。
- 使用云控制台的VNC/紧急通道登录服务器,检查
/etc/ssh/sshd_config中Port配置是否正确,然后执行systemctl restart sshd重启服务。 - 若仍然失败,检查系统防火墙(如
firewall-cmd --list-all或ufw status)是否放行新端口。
问题2:宝塔面板的安全模块修改后,还需要手动改配置文件吗?
不需要,宝塔会为您自动写入并重启服务。但如果SSH服务未重启,可手动在终端执行systemctl restart sshd。
问题3:新端口设置后,使用宝塔远程连接工具怎么填?
宝塔面板左侧「SSH」终端中,连接需指定端口:在IP地址后添加:新端口,例如192.168.1.1:10022。或者使用第三方终端工具(如Putty)显式填写端口。
问题4:修改端口能否100%防御攻击?
不能完全防御,但可大幅降低自动扫描爆破的成功率。建议同时配合密钥登录(禁用密码登录)、Fail2ban等安全手段提升整体防护。
总结与建议
完成上述步骤后,你的服务器SSH服务已经隐藏到随机端口,全网扫描攻击基本失效。
如果你正在使用宝塔面板管理服务器,建议每半年更换一次SSH端口,并定期检查安全日志。
对于需要更高安全等级的业务,可配合使用VPN或跳板机访问SSH。
遇到配置问题时,优先查看宝塔面板日志(位于/www/server/panel/logs)或云服务商控制台事件记录。