如何修改SSH所使用的端口
如何修改SSH所使用的端口

如何修改SSH所使用的端口

要修改SSH服务使用的端口,请按以下步骤操作(​​务必谨慎,修改错误可能导致无法远程登录服务器​​):


步骤 1:选择新端口

  • ​端口范围​​:选择介于 1024 到 65535 之间的端口(避免 2280443 等常见端口)
    📌 示例:本次使用 **2222**(请替换为你的实际端口)

步骤 2:修改 SSH 配置文件

  1. 打开配置文件(使用管理员权限):sudo nano /etc/ssh/sshd_config
  2. 找到 #Port 22 行(通常在文件顶部),​​取消注释​​并添加新端口:Port 22 # 保留旧端口(暂时不删除) Port 2222 # 添加新端口(确保无空格)📌 ​​关键提示​​:
    • 同时保留旧端口 22 和新端口 2222,避免当前会话被断开后无法连接!
    • 完成后按 Ctrl + X → 输入 Y 保存。

步骤 3:配置防火墙放行新端口

根据你的防火墙类型操作:

  • ​firewalld​​(CentOS/RHEL):sudo firewall-cmd --permanent --add-port=2222/tcp sudo firewall-cmd --reload
  • ​ufw​​(Ubuntu/Debian):sudo ufw allow 2222 sudo ufw reload
  • ​iptables​​:sudo iptables -A INPUT -p tcp --dport 2222 -j ACCEPT sudo service iptables save # 保存规则(系统需支持)

步骤 4:重启 SSH 服务生效

sudo systemctl restart sshd   # Ubuntu/Debian
# 或
sudo systemctl restart ssh    # CentOS/RHEL

步骤 5:测试新端口连接

  1. ​新建终端窗口​​,尝试通过新端口连接服务器:ssh -p 2222 username@服务器IP
  2. ​确认新端口连接成功后​​,返回服务器修改配置:
    • 重新编辑 /etc/ssh/sshd_config
    • ​删除旧端口行 Port 22​,只保留 Port 2222
    • 再次重启 SSH 服务

⚠️ 关键注意事项

  1. ​避免立即删除旧端口​​:确保新端口测试成功后再关闭 22,防止被锁在服务器外!
  2. ​端口冲突检查​​:使用 ss -tunlp | grep ':2222' 确认端口未被占用。
  3. ​SELinux 影响​​(CentOS/RHEL):sudo semanage port -a -t ssh_port_t -p tcp 2222
  4. ​云服务器安全组​​:在阿里云/AWS等平台需手动开放新端口(登录控制台配置)。

最终:关闭旧端口(可选)

新端口稳定后,可在防火墙中关闭 22 端口:

sudo ufw delete allow 22    # Ubuntu
sudo firewall-cmd --remove-port=22/tcp --permanent   # CentOS

✅ ​​修改完成!​​ SSH 服务已迁移到新端口,安全性提升。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注