VPS的22端口被墙了怎么办?手把手教你更换SSH端口

VPS的22端口被墙后如何更换SSH端口?

步骤 操作说明 使用工具提示
1 备份SSH配置文件 cp /etc/ssh/sshdconfig /etc/ssh/sshdconfig.bak
2 编辑配置文件修改端口 vi /etc/ssh/sshdconfig (查找并修改Port 22行)
3 重启SSH服务使配置生效 systemctl restart sshd (CentOS7) 或 service ssh restart (旧版)
4 更新防火墙规则放行新端口 firewall-cmd --add-port=新端口/tcp --permanent

VPS的22端口被墙后的SSH端口更换指南

当VPS的22端口被墙时,SSH连接将无法正常使用。这种情况下,更换SSH端口是最直接的解决方案。以下是详细的操作步骤和注意事项:

一、更换SSH端口的详细步骤

  1. 备份SSH配置文件
在修改任何配置文件前,务必先进行备份:
   cp /etc/ssh/sshdconfig /etc/ssh/sshdconfig.bak
   
  1. 编辑SSH配置文件
使用文本编辑器(如vi或nano)打开配置文件:
   vi /etc/ssh/sshdconfig
   
找到#Port 22这一行,删除行首的#符号,并将端口号修改为您想要使用的新端口号(建议选择1024-65535之间的高位端口):
   Port 2222
   
  1. 重启SSH服务
修改完成后,需要重启SSH服务使更改生效:
   systemctl restart sshd  # CentOS7及以上版本
   # 或
   service ssh restart     # 旧版Linux系统
   
  1. 更新防火墙规则
确保新端口在防火墙中已放行:
   firewall-cmd --zone=public --add-port=2222/tcp --permanent
   firewall-cmd --reload
   
  1. 测试新端口连接
在确保新端口可以正常连接后,建议删除配置文件中的Port 22行,彻底关闭默认端口。

二、常见问题及解决方案

问题 原因 解决方案
修改后无法连接SSH 防火墙未放行新端口 检查防火墙规则,确保新端口已放行
连接被拒绝 SSH服务未正确重启 确认SSH服务已重启且无报错
端口冲突 新端口被其他服务占用 使用netstat -tuln检查端口占用情况
SELinux阻止连接 SELinux安全策略限制 使用semanage port添加新端口到白名单

三、注意事项

  1. 端口选择建议
  • 避免使用常见服务端口(如80、443等)
  • 建议选择5位数的随机端口(如10000-65535之间)
  • 不要立即删除默认22端口,确保新端口可用后再关闭
  1. 安全增强建议
  • 同时禁用root登录(PermitRootLogin no)
  • 启用密钥认证(PasswordAuthentication no)
  • 配置fail2ban防止暴力破解
  1. 多端口配置
如果需要同时保留多个SSH端口,可以在配置文件中添加多行:
   Port 22
   Port 2222
   

四、工具推荐

  1. 端口扫描工具
  1. SSH客户端
  • Xshell
  • PuTTY
  • MobaXterm
  1. 防火墙管理工具
  • firewalld(CentOS7+)
  • ufw(Ubuntu)
  • iptables(传统Linux系统)
通过以上步骤,您可以成功更换VPS的SSH端口,解决22端口被墙的问题。操作时请务必谨慎,建议先在测试环境中验证后再应用到生产环境。

发表评论

评论列表