【发布时间】:2020-07-29 06:22:37
【问题描述】:
【问题讨论】:
【问题讨论】:
作为 IAP 配置步骤的一部分,您应该创建一个 firewall rule,以允许从 IAP 地址范围进入 SSH 端口的流量:
GCP Console => VPC network => Firewall rules => Create Firewall Rule
Name: allow-ingress-from-iap
Direction of traffic: Ingress
Target: All instances in the network
Source filter: IP ranges
Source IP ranges: 35.235.240.0/20
Protocols and ports: select TCP and enter 22 to allow SSH
Identity-Aware Proxy > Doc > Setting up IAP for Compute Engine
在通过 IAP 与仅具有内部 IP 的虚拟机的 SSH 会话不活动 1 小时后,GCP 控制台 UI 中出现错误 1006,这是 Google 端的会话超时。
【讨论】:
正如@mebius99 所提到的,IAP(身份识别代理)请求来自IP 地址范围35.235.240.0/20。
您的网络防火墙必须允许这些请求能够通过 IAP 进行 SSH。
一种方法(创建防火墙规则)是运行gcloud compute firewall-rules create 命令。
然后,一旦云外壳打开,运行以下命令:
gcloud compute firewall-rules create ssh-ingress-from-iap --allow=tcp:22 --source-ranges 35.235.240.0/20 --network [network-name]
将[network-name]替换为您的网络名称(默认VPC网络命名为:default)
如果上述解决方案不起作用(或已有类似的防火墙规则),请考虑检查网络标签(在防火墙规则和虚拟机上)。可能是您的防火墙规则只允许对具有某些标签的某些实例发出请求,而您尝试通过 SSH 连接的实例则不允许。
【讨论】: