如何为弹性云服务器 ECS 配置安全组放行 SSH/HTTP 端口

举报
yd_217517564 发表于 2026/10/28 13:41:22 2026/10/28
【摘要】 本文以华为云控制台为例,介绍如何为弹性云服务器 ECS 配置安全组,放行 SSH(22 端口)和 HTTP(80 端口),包括控制台操作步骤、验证方法、连不上时的排查清单和安全建议。

新买的弹性云服务器 ECS 却连不上 SSH、打不开网站?多数情况下不是服务器坏了,而是安全组没有放行对应端口。本文以华为云控制台为例,讲清楚安全组放行 SSH(22 端口)和 HTTP(80 端口)的完整操作,以及容易踩的坑。

一、先理解:安全组是什么

安全组是华为云提供的一种虚拟防火墙,作用在弹性云服务器 ECS 的网卡上,用来控制进出云服务器的网络流量。

  • 入方向规则:控制从外网进入云服务器的流量;新建的安全组默认不放行任何入方向流量,需要手动添加规则。
  • 出方向规则:控制云服务器访问外网的流量,默认放行全部出方向流量。
  • 一台 ECS 可以关联一个或多个安全组,同一个安全组也可以关联多台 ECS。

关键点:SSH 远程登录走 22/TCP,网站访问走 80/TCP(HTTP)或 443/TCP(HTTPS),这些端口不放行,外部就连不上。

二、准备工作

  • 一台已创建的华为云 ECS 实例。
  • 登录华为云控制台的账号,具备 ECS 和 VPC 的操作权限。

三、控制台操作步骤

1. 打开安全组页面

登录华为云控制台,在顶部导航选择“服务列表 > 网络 > 虚拟私有云 VPC”,在左侧导航选择“访问控制 > 安全组”,找到 ECS 绑定的安全组。也可以在“弹性云服务器 ECS”控制台的实例列表中,单击实例名称,在“安全组”页签中直接管理。

2. 添加入方向规则:放行 SSH(22 端口)

  1. 单击目标安全组名称,进入安全组详情页。
  2. 选择“入方向规则”页签,单击“添加规则”。
  3. 按如下填写:
    • 协议端口:选择“TCP”,端口填写 22。
    • 源地址:建议填写你自己的公网 IP,例如 203.0.113.10/32;如果只是临时测试,可填 0.0.0.0/0(表示允许所有 IPv4 地址访问),测试后请及时收紧。
    • 策略:允许。
  4. 单击“确定”。

3. 添加入方向规则:放行 HTTP(80 端口)

同样在“入方向规则”中添加一条规则:

  • 协议端口:TCP,端口 80。
  • 源地址:网站需要对公众开放,填 0.0.0.0/0。
  • 策略:允许。

如果网站使用 HTTPS,再加一条 TCP 443 端口的规则,源地址同样填 0.0.0.0/0。

4. 确认规则生效

返回安全组详情页,检查入方向规则列表,确认存在以下规则:

协议端口 源地址 策略
TCP 22 你的公网 IP/32(或 0.0.0.0/0) 允许
TCP 80 0.0.0.0/0 允许
TCP 443 0.0.0.0/0 允许(HTTPS 可选)

安全组规则实时生效,不需要重启云服务器。

四、验证是否放行成功

1. 验证 SSH

在本地电脑打开终端执行:

ssh root@<ECS 的弹性公网 IP>

如果出现登录密码提示,说明 22 端口已放行;也可以用 ssh -v 查看详细握手过程定位问题。

2. 验证 HTTP

在本地浏览器访问 http://<ECS 的弹性公网 IP>,或用 curl 测试:

curl -I http://<ECS 的弹性公网 IP>

返回 HTTP/1.1 200 OK 之类的响应头,说明 80 端口已放行。

3. 用端口探测辅助排查

# 检查 22 和 80 端口是否开放
nc -vz <ECS 的弹性公网 IP> 22
nc -vz <ECS 的弹性公网 IP> 80

五、放行了还是连不上?排查清单

  1. 实例是否绑定了弹性公网 IP:没有公网 IP 的 ECS 无法从互联网直接访问,需要先绑定弹性公网 IP。

  2. 安全组是否绑对了实例:在 ECS 实例详情页的“安全组”页签确认当前生效的安全组。

  3. 云服务器内部防火墙:Linux 系统自带的 firewalld 或 iptables 也可能拦截流量,可以先检查,例如执行 sudo firewall-cmd --list-ports 或 sudo iptables -L,必要时放行端口:

    sudo firewall-cmd --permanent --add-port=22/tcp
    sudo firewall-cmd --permanent --add-port=80/tcp
    sudo firewall-cmd --reload
    
  4. 服务本身是否在监听:用 ss -tlnp | grep -E ':(22|80)' 确认 sshd 和 Web 服务(如 Nginx/Apache)正在运行并监听对应端口。

  5. 源地址填错:SSH 规则的源地址如果填了错误的 IP 段,自己的电脑会被挡在外面。

六、安全建议

  • SSH 不要长期对全网开放:源地址尽量填自己的固定公网 IP;如果 IP 不固定,可以只在需要时临时放行 0.0.0.0/0,用完立即删除。
  • 不要放行全部端口:不要添加“协议全部、端口全部”的放行规则,暴露面越大风险越高。
  • 定期检查安全组规则:在 VPC 安全组页面定期清理不再使用的规则。
  • 优先使用密钥登录:SSH 建议使用密钥对登录,并禁用密码登录,降低暴力破解风险。

七、总结

  • 安全组是 ECS 的第一道网络防线,入方向默认拒绝,需要手动放行。
  • SSH 放行 TCP 22,HTTP 放行 TCP 80,HTTPS 再放行 TCP 443。
  • 规则保存后实时生效,无需重启。
  • 连不上时按“弹性公网 IP → 安全组 → 系统防火墙 → 服务监听”的顺序排查。

掌握了安全组规则,ECS 的远程管理和网站发布就畅通了。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。