当前位置:首页 > 虚拟主机 > 正文

广州云服务器怎么修改端口?云服务器修改端口详细教程

在云服务器环境中,修改默认端口(如 SSH 的 22 端口或 Web 服务的 80/443 端口)是提升服务器安全性、避免端口扫描攻破以及满足特定业务需求的标准操作,以下将以最常见的 Linux 云服务器(以 CentOS/Ubuntu 为例)修改 SSH 端口为例,详细说明操作流程及注意事项。

前置准备与风险提示

在修改任何端口之前,必须确保新端口在防火墙和安全组中已开放,否则修改完成后可能导致无法远程连接服务器,建议保留当前的 SSH 会话窗口,新开一个终端窗口进行测试,确认新端口连接成功后再关闭旧会话。

检查项目 说明 操作建议
云服务商安全组 阿里云、西西安全等云厂商提供的网络层防火墙 需在控制台添加新端口的入站规则,允许 TCP 协议访问
系统防火墙 服务器内部的防火墙软件(如 firewalld, ufw) 需放行新端口,并可选择性禁用或移除旧端口规则
SSH 配置文件 /etc/ssh/sshd_config 修改 Port 参数为新端口号

第一步:配置云服务商安全组

大多数云服务器默认仅开放 22 端口,若直接修改系统 SSH 端口而不配置安全组,修改后将立即断连。

  1. 登录云服务商控制台(如阿里云 ECS、西西安全 CVM)。
  2. 找到实例对应的安全组防火墙设置。
  3. 添加一条入方向规则:
    • 协议类型:TCP
    • 端口范围:填写你计划使用的新端口(2222)
    • 授权对象:0.0.0/0(允许所有 IP)或指定你的固定 IP 以增强安全性。
  4. 保存规则。

第二步:修改系统防火墙规则

根据服务器使用的防火墙软件不同,操作略有差异。

广州云服务器怎么修改端口?云服务器修改端口详细教程 第1张

场景 A:使用 firewalld(CentOS 7+ 默认)

# 1. 添加新端口到防火墙 sudo firewall-cmd --permanent --add-port=2222/tcp # 2. 重新加载防火墙配置 sudo firewall-cmd --reload # 3. (可选)移除旧端口 22 的规则,若需完全禁用旧端口 sudo firewall-cmd --permanent --remove-port=22/tcp sudo firewall-cmd --reload

场景 B:使用 ufw(Ubuntu 默认)

# 1. 允许新端口 sudo ufw allow 2222/tcp # 2. (可选)删除旧端口 22 的规则 # 先查看规则编号:sudo ufw status numbered # 然后删除对应编号:sudo ufw delete <编号>

第三步:修改 SSH 配置文件

这是核心步骤,用于告诉 SSH 服务监听新的端口。

广州云服务器怎么修改端口?云服务器修改端口详细教程 第2张

  1. 使用文本编辑器打开 SSH 配置文件: sudo vi /etc/ssh/sshd_config
  2. 找到 Port 22 这一行,如果前面有 注释符号,请去掉。
  3. 将 22 修改为你想要的新端口号, Port 2222
  4. 保存并退出编辑器(在 vi 中按 Esc,输入 wq 回车)。

第四步:重启 SSH 服务并验证

修改配置后,必须重启 SSH 服务才能生效。

# 重启 SSH 服务 sudo systemctl restart sshd # 检查服务状态,确保无报错 sudo systemctl status sshd # 查看当前监听的端口 sudo netstat -tlnp | grep sshd # 或者 sudo ss -tlnp | grep sshd

如果输出中包含 0.0.0:2222 或 :2222,说明监听成功。

第五步:测试新端口连接

切勿关闭当前的 SSH 会话! 打开一个新的终端窗口,尝试使用新端口连接:

ssh -p 2222 username@your_server_ip

如果连接成功,说明修改无误,你可以安全地关闭旧的 SSH 会话。

广州云服务器怎么修改端口?云服务器修改端口详细教程 第3张

第六步:清理旧端口规则(可选但推荐)

为了安全起见,建议彻底禁用旧端口 22,防止攻破者通过默认端口扫描发现服务器。

  1. 确保新端口连接正常后,再次编辑 /etc/ssh/sshd_config。
  2. 确认 Port 22 已被注释或删除,仅保留 Port 2222。
  3. 重启 SSH 服务:sudo systemctl restart sshd。
  4. 在防火墙中确保 22 端口已关闭(参考第二步中的移除操作)。


相关问题与解答

Q1: 修改 SSH 端口后,为什么仍然无法连接服务器?

A: 这通常由以下三个原因导致,请按顺序排查:

  1. 云安全组未放行:这是最常见的原因,云厂商的安全组是独立于系统防火墙的网络层过滤,即使系统内防火墙已开放,若云控制台未添加新端口规则,连接仍会被拦截。
  2. SSH 服务未重启:修改 sshd_config 后必须执行 systemctl restart sshd,否则配置不会生效。
  3. 防火墙配置错误:系统内部的防火墙(如 firewalld)可能未正确加载新端口规则,或规则优先级导致旧端口仍被占用。

Q2: 修改端口后,原有的 SSH 密钥认证是否失效?

A: 不会失效,SSH 密钥认证是基于公钥/私钥对的身份验证机制,与端口号无关,只要新端口能正常建立 TCP 连接,密钥认证即可正常工作,你只需在连接命令中指定新端口(如 ssh -p 2222 user@ip)或使用 ~/.ssh/config 文件配置主机别名即可,无需重新生成密钥。

0