Google Cloud - 无法通过 SSH 连接到新实例

Google Cloud - 无法通过 SSH 连接到新实例

我创建了一个新的 Google Cloud 企业帐户。然后创建了一个新的 VM 实例。

当我尝试使用 Web 控制台进行 SSH 时,弹出窗口中出现错误:

由于意外错误,您无法连接到 VM 实例。请稍等片刻,然后重试。

在此处输入图片描述

大约 1 秒钟后,错误屏幕翻转如下:

代码:1006 请确保您可以为 TCP 主机名与 IAP 建立正确的 https 连接:https://tunnel.cloudproxy.app您可能无需使用 Cloud Identity-Aware Proxy 即可进行连接。

在此处输入图片描述


我已经检查了防火墙规则,发现有针对端口 22 的全 IP 入口规则。

我可以使用 gcloud 控制台连接到该实例。

我已删除该实例并重新创建它,其行为仍然相同。

我不知道该如何继续。


到目前为止,我已经根据以下建议进行了尝试:

  1. 使用 IAP IP 地址添加入口防火墙规则(已经存在允许来自所有 IP 地址的端口 22 流量的防火墙规则,所以我认为这不会产生任何影响 - 但我还是尝试了) - 这没有什么影响。
  2. 使用 IAP IP 地址调整入口防火墙规则以允许所有端口。这仍然不起作用。
  3. 添加了 IAP TCP 转发https://cloud.google.com/iap/docs/using-tcp-forwarding#grant-permission. 这仍然以同样的方式失败
  4. 我已进入实例的 IAP 配置,并确认我连接的主体被列为 IAP 安全隧道用户。请注意,我使用 GC 帐户管理员作为用户。

请注意,整个 Google Cloud 帐户专为此项目创建 - 因此这是一个全新的、普通的帐户和实例。

答案1

我不能说我知道你的问题的答案,但为了澄清起见,你有没有使用任何类型的代理?我过去在使用代理连接 Google Cloud 时遇到了问题。

为了进行调试,您可以尝试通过在线开发服务(例如 Amazon AWS Cloud9)进行 SSH 来查看它是否与您的特定网络设置有关。

抱歉,如果这没有帮助,但我看到了这个问题,并想至少看看我是否可以提供帮助。

答案2

根据您收到的错误消息,error 1006使用内部 IP 通过 IAP 与虚拟机进行的 SSH 会话 1 小时不活动后,GCP 控制台 UI 中会出现该消息,这是 Google 端的会话超时。

您可以通过创建防火墙规则来允许 IAP 连接到您的 VM 实例,该规则将应用于您希望使用 IAP 访问的所有 VM 实例。从 IP 范围创建入口流量35.235.240.0/20。此范围将包含 IAP 用于 TCP 转发的所有 IP 地址。正如您在防火墙规则中提到的那样,SSH 的端口是 22,因为这也是允许 SSH 连接的必要条件。

您还可以按照以下步骤允许 SSH 访问您的 VM 实例:

  1. 打开防火墙规则页面。

  2. 在防火墙规则页面,单击创建防火墙规则。

  3. 配置以下设置:

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.
  1. 单击“创建”。

您还可以检查 IAM 以授予使用 IAP TCP 转发的权限。建议为受信任的管理员授予以下角色:

roles/iap.tunnelResourceAccessor(项目或虚拟机)

roles/compute.instanceAdmin.v1(项目)

如需完整参考,您可以查看此文档用于 TCP 转发的 IAPSSH 故障排除

相关内容