如何为弹性云服务器 ECS 配置安全组放行 SSH/HTTP 端口
新买的弹性云服务器 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 端口)
- 单击目标安全组名称,进入安全组详情页。
- 选择“入方向规则”页签,单击“添加规则”。
- 按如下填写:
- 协议端口:选择“TCP”,端口填写
22。 - 源地址:建议填写你自己的公网 IP,例如
203.0.113.10/32;如果只是临时测试,可填0.0.0.0/0(表示允许所有 IPv4 地址访问),测试后请及时收紧。 - 策略:允许。
- 协议端口:选择“TCP”,端口填写
- 单击“确定”。
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
五、放行了还是连不上?排查清单
-
实例是否绑定了弹性公网 IP:没有公网 IP 的 ECS 无法从互联网直接访问,需要先绑定弹性公网 IP。
-
安全组是否绑对了实例:在 ECS 实例详情页的“安全组”页签确认当前生效的安全组。
-
云服务器内部防火墙: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 -
服务本身是否在监听:用
ss -tlnp | grep -E ':(22|80)'确认 sshd 和 Web 服务(如 Nginx/Apache)正在运行并监听对应端口。 -
源地址填错:SSH 规则的源地址如果填了错误的 IP 段,自己的电脑会被挡在外面。
六、安全建议
- SSH 不要长期对全网开放:源地址尽量填自己的固定公网 IP;如果 IP 不固定,可以只在需要时临时放行 0.0.0.0/0,用完立即删除。
- 不要放行全部端口:不要添加“协议全部、端口全部”的放行规则,暴露面越大风险越高。
- 定期检查安全组规则:在 VPC 安全组页面定期清理不再使用的规则。
- 优先使用密钥登录:SSH 建议使用密钥对登录,并禁用密码登录,降低暴力破解风险。
七、总结
- 安全组是 ECS 的第一道网络防线,入方向默认拒绝,需要手动放行。
- SSH 放行 TCP 22,HTTP 放行 TCP 80,HTTPS 再放行 TCP 443。
- 规则保存后实时生效,无需重启。
- 连不上时按“弹性公网 IP → 安全组 → 系统防火墙 → 服务监听”的顺序排查。
掌握了安全组规则,ECS 的远程管理和网站发布就畅通了。
- 点赞
- 收藏
- 关注作者
评论(0)