通过云身份识别代理连接失败

通过云身份识别代理连接失败

我们有一个在 US-central-1 区域运行的实例,它开始出现以下错误:

通过云身份识别代理连接失败代码:4003 原因:无法连接到后端您可能无需使用云身份识别代理即可进行连接。

如果不使用 Cloud Identity-Aware Proxy,我也无法连接,并显示以下消息:

我们无法连接到端口 22 上的虚拟机。

此实例上运行的网站是实时电子商务平台,没有其他正在运行的备份实例。请尽快解决此问题。

附言:在发现虚拟机正常运行后,我们没有对其进行任何更改。并且我们不会触及任何配额限制。

答案1

如果允许 tcp:22 的入口,包括你的源 IP,那么 GCP 防火墙就没有问题,我的建议是执行以下步骤并建立与你的 VM 的串行连接,然后就可以检查 SSH 服务是否启动并处于监听模式,甚至可以检查你的 VM 内部是否有任何防火墙阻塞。

  1. 转到 Google Cloud Platform 控制台中的 VM 实例页面。
  2. 单击要添加启动脚本的实例。
  3. 单击页面顶部的“编辑”按钮。
  4. 点击“启用连接到串行端口”
  5. 在自定义元数据下,单击添加项目。
  6. 将“Key”设置为“startup-script”,并将“Value”设置为此脚本:
#!/bin/bash
 
useradd -G sudo USERNAME
 
echo 'USERNAME:PASSWORD' | chpasswd 

注意:将用户名和密码的值更改为您选择的用户名和密码。

  1. 单击保存,然后单击页面顶部的重置。您可能需要等待一段时间才能重新启动实例。
  2. 点击页面中的‘连接到串行端口’。
  3. 在新窗口中,您可能需要等待一会儿,然后按一次键盘上的 Enter 键;然后,您应该会看到登录提示。
  4. 使用您提供的用户名和密码登录。

答案2

确保虚拟机带有与防火墙规则中指定的目标标签相同的标签。例如,标签名称可能类似于allow-ssh

答案3

Google Cloud 论坛发布了由@Ali Reza Izadi 提供的解决方案。

参考这里

视频演示

正确的脚本:

#!/bin/bash
useradd USERNAME
echo USERNAME:PASSWORD | chpasswd

相关内容