到 VM 的 IAP 隧道

Shi*_*iva 10 google-compute-engine google-iap

我有一个关于 Compute VM 及其相关权限的问题。我在项目级别拥有“所有者”权限。我创建了一个 VM,但无法为其分配外部 IP 地址。在参考谷歌云文档时,我似乎仍然可以使用 VPN 或 IAP 连接到这个虚拟机。单击 VM 旁边的 SSH 链接后,我看到它使用 Cloud-IAP 隧道,但连接失败。

这是未找到外部 IP 地址的错误消息;默认使用 IAP 隧道。

ERROR: (gcloud.compute.start-iap-tunnel) Error while connecting [4003: u'failed to connect to backend'].
ssh_exchange_identification: Connection closed by remote host
ERROR: (gcloud.compute.ssh) [/usr/bin/ssh] exited with return code [255].
Run Code Online (Sandbox Code Playgroud)

我如何去连接到这个虚拟机?

感谢您对此的帮助

gav*_*koa 5

配置为允许从 Cloud IAP 的 TCP 转发网络块 35.235.240.0/20 在您机器的所有端口上进行访问的防火墙规则。这可确保允许从 Cloud IAP 的 TCP 转发 IP 地址连接到资源上管理服务的 TCP 端口。请注意,如果 default-allow-ssh 和 default-allow-rdp 默认规则应用于用于 SSH 和 RDP 的端口,则您可能不需要调整防火墙规则。

您可能已经拥有default-allow-ssh而不是尝试:

gcloud compute start-iap-tunnel stage-es-kibana 5601 --local-host-port=localhost:5601
Run Code Online (Sandbox Code Playgroud)

通过额外的 ssh 层跳转到端口:

gcloud compute ssh stage-es-kibana -- -N -L 5601:localhost:5601
Run Code Online (Sandbox Code Playgroud)

或在主机/端口stage-es-kibana:5601和子网之间打开 Google 防火墙35.235.240.0/20

  • 这里的关键部分是添加 https://cloud.google.com/iap/docs/using-tcp-forwarding#tunneling_ssh_connections 中指定的防火墙规则 (2认同)

Pri*_*tel 5

这是一个权限问题。您正在尝试通过 google 的 IAP 代理 ssh 进入您的虚拟机。您无权创建从您的计算机到代理服务器的隧道。

"roles/iap.tunnelResourceAccessor"您需要具有ssh 到您的虚拟机的角色:

  • 尽管所提出的问题清楚地表明所使用的用户帐户具有所有者权限,其中包括“iap.tunnelResourceAccessor”权限,但我认为这个答案对于具有相同类型错误消息的人仍然有帮助。就我而言,我使用的是仅具有编辑者权限的非组织用户帐户。因此,我缺少“iap.tunnelResourceAccessor”权限,并收到与上述相同的错误消息。 (2认同)