我之前有台VPS,装完系统没改任何东西,默认22端口挂着。不到一周翻日志,几千条暴力破解记录。密码够复杂没被进去,但看着挺闹心。
后来给自己定了个规矩:新机器到手第一件事改SSH端口。把流程写一遍。
为什么改?22是SSH默认端口,全网自动化脚本24小时扫。你不改端口,扫描天天来找你。改了之后能挡掉大部分自动扫描,日志也干净。当然这不是万能的,密钥登录、Fail2ban、防火墙该配还得配,但改端口是成本最低的一步。
动手之前几件事:
- 当前SSH连接别断。改完配置后新开窗口测新端口,通了再关旧的。这一步能救你很多次。
- 确认有root或sudo权限。
- 想好新端口号,1024到65535之间,别跟80、443、3306撞。我习惯用28888或34567,好记不冲突。
- 防火墙先把新端口放行。很多人改完端口连不上就是忘了这步。
- 用搬瓦工的话,操作前去KiwiVM面板做个快照,改错了快照恢复就行。
改端口过程
用Xshell或PuTTY登录VPS,root进去。
编辑配置文件
vi /etc/ssh/sshd_config
找到 #Port 22,去掉#号,把22改成你要的端口:
Port 28888
我的习惯是先留着Port 22不删,新端口测试通了再把22干掉。万一新端口出问题还能回去。
保存退出:Esc,:wq,回车。
重启SSH服务,不同系统命令不一样。
CentOS 7/8用
systemctl restart sshd
CentOS 6用
service sshd restart
Debian/Ubuntu用
systemctl restart ssh
# 或
service ssh restart
防火墙放行:
光改端口不够,防火墙不放行外面连不上。
iptables老系统
# 放行新端口
/sbin/iptables -I INPUT -p tcp --dport 28888 -j ACCEPT
# 保存规则
/etc/init.d/iptables save
# 或
service iptables save
# 查看规则
iptables -L -n
firewalld(CentOS 7/8)
# 放行新端口
firewall-cmd --permanent --add-port=28888/tcp
# 重载防火墙
firewall-cmd --reload
# 查看已放行端口
firewall-cmd --list-ports
ufw(Ubuntu/Debian)
# 放行新端口
ufw allow 28888/tcp
# 查看状态
ufw status
阿里云、腾讯云、AWS这些还得去控制台安全组放行。搬瓦工没有外部安全组,只配系统防火墙就行。
SELinux别忘:
CentOS开了SELinux的话,光改配置和防火墙不够,SELinux也会拦。
# 查看当前允许的端口
semanage port -l | grep ssh
# 添加新端口
semanage port -a -t ssh_port_t -p tcp 28888
# 重启SSH
systemctl restart sshd
Ubuntu的AppArmor一般不会拦,除非你自己写了规则,去 /etc/apparmor.d/ 看看。
测试:
配置完不要关当前窗口。新开终端:
ssh -p 28888 root@你的VPS_IP
进去了就对了。进不去回旧窗口查:配置拼对没、防火墙放了没、SELinux拦了没、SSH重启了没。
搞不定的话搬瓦工KiwiVM面板有VNC控制台可以进去救急。
确认新端口没问题后,删掉配置文件里的 Port 22,只留新端口,再重启一次SSH。
常见问题:
- 改了端口还能用22吗?能,但建议测通了就删,不然扫描照来。
- 影响网站吗?不影响,SSH端口跟网站端口两码事。
- 搬瓦工改端口麻烦吗?跟普通Linux VPS一样。KiwiVM面板有快照功能,改之前先快照,出问题回滚。
- 除了改端口还做什么?禁用root密码登录、用SSH密钥、装Fail2ban、定期更新系统、配白名单。
- 操作顺序记住:编辑sshd_config → 防火墙放行 → 重启SSH → 新窗口测试 → 确认OK再关旧连接。最重要的一条:别关旧窗口,先测通新的。
- 搬瓦工DC6机房走CN2 GIA-E线路,三网优化,国内建站体验不错。KiwiVM面板管理方便,支持快照和机房切换。
- 本文包含联盟链接。通过链接购买,我可能获得佣金,不影响你的购买价格。




发表回复