You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GCP VM SSH端口超时:已开放所有端口仍无法SSH的原因

GCP Compute Engine SSH连接问题解答

核心原因是你所谓的“开放所有端口”规则存在配置缺陷,且初始连接依赖默认VPC的内置SSH规则,后续该默认规则失效导致连接中断:

  • 规则方向配置错误:你创建的“开放所有端口”规则可能是出向规则(仅允许实例向外发起流量),但SSH连接属于入向流量(外部终端向实例22端口发起请求),出向规则完全无法覆盖入站的SSH请求。初始能连接是因为默认VPC自带的default-allow-ssh入向规则在生效。

  • 源IP范围配置错误:你提到“IP范围设置为该实例的外部IP”——如果这是防火墙规则的源IP范围,那这个规则仅允许从该实例自身外部IP发起的入站流量,Cloud Shell或其他外部终端的IP不在此范围内,自然无法连接。初始可用是因为默认的default-allow-ssh规则源IP包含Cloud Shell的IP段(或0.0.0.0/0),后续该默认规则可能被误删除、修改或实例标签不匹配导致失效。

  • 默认SSH规则失效:默认VPC中自带default-allow-ssh规则,默认允许入向TCP 22端口流量,且目标标签为ssh(实例默认会自动带上这个标签)。如果后续你执行了以下操作之一,都会导致默认规则失效:

    • 误删除了default-allow-ssh规则
    • 修改了该规则的源IP范围、目标标签或优先级
    • 移除了实例上的ssh标签
      此时你自己的“开放所有端口”规则因配置问题无法补位,就会出现“无法连接到VM的22端口”的报错。
  • 规则优先级冲突(低概率):如果你的“开放所有端口”规则优先级低于某个拒绝入向流量的规则(比如默认的default-deny-ingress,但它优先级最低),会导致规则不生效,但这种情况概率极低,更可能是前面的配置问题。

验证建议:

  1. 查看VPC防火墙规则列表,确认default-allow-ssh规则是否存在、配置是否正常(源IP、目标标签、方向)
  2. 检查你创建的“开放所有端口”规则的方向(入向/出向)、源IP范围、目标标签是否匹配你的实例
  3. 查看实例的网络标签,确认是否包含ssh标签(如果默认规则依赖该标签)

内容的提问来源于stack exchange,提问作者user16798185

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 12:30:17