【问题标题】:GCP browser ssh stops working after a week or soGCP 浏览器 ssh 一周左右后停止工作
【发布时间】:2023-04-06 19:11:02
【问题描述】:

我使用 GCP 浏览器 ssh 来托管我的 python 文件。大约一周后,VM Instance 的 ssh 停止,当我尝试连接它时,它首先显示

Connection via Cloud Identity-Aware Proxy Failed
Code: 4003
Reason: failed to connect to backend
You may be able to connect without using the Cloud Identity-Aware Proxy.

当我尝试在不使用 Cloud Identity-Aware 代理的情况下进行连接时,出现此错误

Connection Failed
We are unable to connect to the VM on port 22. Learn more about possible causes of this issue.

我认为我没有更改导致此问题的那些设置。

编辑 1

我发现这是一个防火墙问题。我制定了一个防火墙规则,确实允许连接到端口 22,但它仍然给出了同样的错误。

编辑 2

在我制定防火墙规则一天后,现在,实例又开始工作了。我能够访问 SSH。

【问题讨论】:

  • 1) 这个问题可能有很多原因。你做了哪些研究来调查?在您的问题中展示这项工作。 2) Stackdriver 可能有详细信息。 3) 提供有关您的实例的详细信息以及您在该实例中运行的内容。您的实例可能内存不足,CPU 可能处于 100%,没有可用磁盘空间等。 4) 没有详细信息,您不太可能收到好的答案。

标签: google-cloud-platform ssh


【解决方案1】:

关于你的SSH的问题,错误码4003,这个错误可能有很多解释:

  1. 您的实例无法启动 ssh 服务。
  2. 您的防火墙未正确配置为允许端口 22。
  3. 您修改了实例中的某些内容,并且您的元数据停止工作。

如果您的实例运行良好,我们可以使用port scanner 检查点 1 和 2,如果可以访问 ssh,我们可以检查硬端口 22。如果不是绿色,则表示可能是防火墙或 SSH 服务有问题。

如果您的防火墙有问题,请查看此documentation 以创建正确的规则。

如果问题出在您的元数据上,则可能需要就地安装访客环境,您可以通过检查实例启动时发送到控制台的系统日志来验证访客环境是否正常工作,请查看此文档的Validating the guest environment 了解更多信息。

如果您的元数据工作正常(我在 Ubuntu 中测试),您应该会看到类似 Started Google Compute Engine 启动脚本。

由于您无法通过 SSH 按钮连接到该实例,因此您必须启用此 vm 实例的串行控制台才能进入该 vm 实例的命令行。

请尝试创建一个启动脚本来创建用户和密码,并通过此从串口登录虚拟机,脚本将如下所示:

  1. 转到 Google Cloud Platform 控制台中的 VM instances page
  2. 单击要为其添加启动脚本的实例。
  3. 点击页面顶部的编辑按钮。
  4. 点击启用连接到串口
  5. 在自定义元数据下,点击添加项目。
  6. 将“Key”设置为“startup-script”并将“Value”设置为此脚本:
#! /bin/bash 
useradd -G sudo <user>
echo '<user>:<password>' | chpasswd
  1. 点击保存,然后点击页面顶部的RESET。您可能需要等待一段时间才能重启实例。
  2. 点击页面上的“连接到串口”。
  3. 在新窗口中,您可能需要稍等片刻,然后按一次键盘上的 Enter;然后,您应该会看到登录提示。
  4. 使用您提供的 USERNAME 和 PASSWORD 登录,您将被登录。

如果你的元数据不能正常工作,你应该install the guest environment in your VM

  1. 确保您的operating system is supported 的版本。
  2. Enable the Universe repository。 Canonical 将其访客环境的软件包发布到 Universe 存储库。

sudo apt-add-repository universe

  1. 更新软件包列表:

sudo apt update

  1. 安装来宾环境包:

sudo apt install -y gce-compute-image-packages

  1. Restart the instanceinspect its console log 确保来宾环境在启动备份时加载。
  2. 验证您是否可以使用 SSH 连接到实例。

编辑 1

确保您有一个外部 IP 或您正在关注described here 的选项之一。

如果您的问题与 CPU 使用率或您的 VM 实例内存不足有关,请考虑changing the machine type

更改机器类型

1.- 转到VM Instances page

2.- 在名称列中,单击您的实例。

  1. 在实例详细信息页面中,完成以下步骤:

    a) 如果您尚未停止实例,请单击停止按钮停止实例。

    b) 实例停止后,点击页面顶部的编辑按钮。

    c) 在机器配置部分下,选择您要使用的机器类型,或创建自定义机器类型以仅增加内存。

    d) 保存您的更改并重新启动您的 VM 实例。

【讨论】:

  • 所以我发现它是防火墙问题。我尝试创建一个允许连接到端口 22 的防火墙规则,但它仍然给出了同样的错误。
  • 我在原始答案中添加了更多信息,但是,您能否分享更多有关您的实例的详细信息?您是否尝试通过元数据连接到您的实例?
  • 看起来 SSH 刚刚又开始工作了。感谢您的帮助!!!
  • 如果您觉得我的回答有用,请考虑接受(再次),谢谢!
猜你喜欢
  • 1970-01-01
  • 2020-10-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-06
  • 1970-01-01
相关资源
最近更新 更多