对于具有外部 IP 的实例,您能否强制浏览器中的 SSH 通过 IAP 建立隧道?

Can you force SSH in browser to tunnel through IAP for instances with an external IP?

我有一些具有外部 IP 的计算引擎实例,这些实例具有阻止 SSH 的防火墙规则。这些实例也有内部 IP,有防火墙规则将 SSH 列入 IAP netblock 的白名单(尽管控制台中的 IAP 帮助错误地说由于资源不足我需要添加规则,但我离题了)。

似乎表明如果有外部 IP,浏览器中的 SSH 将不会使用 IAP,但我不确定是否有解决方法。

我可以使用 Google Cloud SDK 通过 SSH 连接到 gcloud compute ssh <instance> --tunnel-through-iap 的实例,但是有没有办法通过浏览器强制执行相同操作,以便我可以随时随地轻松登录?

相关评论正确。

“使用 Cloud IAP 进行 TCP 转发”中的 document 描述了如果 VM 配置为仅具有内部 IP,则只能在 GCP 控制台中使用 SSH 按钮。

您描述的情况没有解决方法,但您可以随时查看 advanced SSH methods 它们是否更适合您。

我不确定这是否是确切的解决方案,但我可以通过在 IAM @ 项目级别添加“IAP-secured 隧道用户”角色来解决同样的错误消息。据我所知,服务器已分配 public ip。

see instructions