【问题标题】:Cannot ssh into Google-Engine, connecting in a loop无法通过 ssh 进入 Google-Engine,循环连接
【发布时间】:2020-01-08 19:57:52
【问题描述】:

我无法通过 SSH 连接到我的 GCE 实例。我连接没有任何问题,唯一的想法是我通过浏览器的右上角更改了我的用户名,然后选择了Change Linux Username

当我尝试通过浏览器 ssh 进入我的谷歌引擎时,我一直在无限循环中收到以下消息:

当我尝试通过云 shell 进行 ssh 时,我还收到以下错误消息,(串行控制台输出):

Permission denied (publickey).
ERROR: (gcloud.compute.ssh) [/usr/bin/ssh] exited with return code [255].

[Q]有没有办法解决这个问题?由于我现在无法访问引擎,我不知道该怎么办。

【问题讨论】:

  • 您能否尝试从与旧用户和新用户相关的仪表板中删除您的元数据 ssh 密钥?

标签: ssh google-cloud-platform


【解决方案1】:

但是,您始终可以通过串行控制台重新访问,然后从那里您可以在内部解决用户/ssh 问题。

1)$ gcloud compute instances add-metadata [INSTANCE_NAME] --metadata=serial-port-enable=1

然后您可以通过串口连接到实例 注意:必须已经设置了root密码才能使用串口

2)

$ gcloud compute connect-to-serial-port [INSTANCE_NAME]

如果您从未设置过 root 密码,您可以通过向您的实例添加一个启动脚本来设置它,该脚本将通过运行以下命令将密码设置为 root: 注意:必须重启实例才能运行启动脚本。

3)$ gcloud compute instances add-metadata [instance name] --metadata startup-script='echo "root:YourPasswdHere" | chpasswd'

重新启动实例,在步骤“2)”中运行命令,使用您在步骤“3)”中在启动脚本中设置的密码以 root 身份验证您自己。

【讨论】:

  • 我删除了旧用户在元数据上的 ssh 密钥,但没有帮助。我应该在 google shell 上运行那些 gcloud 代码行吗?我从不设置 root 密码,我猜我唯一剩下的选项是 case-3。 @Alessio
  • 我设法通过 google shell 登录!但是我仍然无法通过 ssh 浏览器登录,这可能是什么原因?有什么办法可以解决吗? @Alessio
  • 当您单击仪表板上的 ssh 按钮时,云上“某处”的小型 ssh 客户端将连接到实例并将输出重定向到您的浏览器。因此,与您的实例建立 ssh 连接的不是您的本地计算机。话虽如此,让我记住 ssh 客户端拥有一个私有和公共 ssh 密钥。
  • 我的错,我错过了第二部分:您从 user1 切换到 user2,因此为 user2 创建了一个新的主目录。我期待的是新用户 user2 没有从元数据中检索公钥。 VM 运行着一个 google 守护进程,它不断检查元数据的变化。为了检查这是否是您的情况,请运行以下命令
  • 请从这里查看 pastebin.com/raw/KnRrTUV1 的输出 gist.github.com/avatar-lavventura/… – @Alessio
【解决方案2】:

我遇到了同样的问题,我花了几天时间才弄清楚我的情况发生了什么。

为了找出答案,我从头开始创建了一个新实例,并开始对最终无法连接的那些进行我所做的所有修改,一一退出 ssh 连接并重新进入以进行测试。

我已经尝试了几次,在这两种情况下,卸载 python 后都无法连接(我只需要 3.7 版本,所以我正在卸载所有其他版本并安装我需要的那个)。

我的卸载命令是 sudo apt purge python2.7-minimal 和 sudo apt purge python3.5-minimal

我不知道是因为删除了 python,还是因为使用了 purge(在这种情况下,如果将 purge 与另一个程序一起使用,这个问题可能会重现)。 我什至不知道为什么这会影响 ssh 连接。

难道是谷歌云以某种方式将目标 python 用于 ssh 网络?

无论如何,如果您遇到此问题,请尽量避免从基本 VM 卸载任何内容。

【讨论】:

    猜你喜欢
    • 2017-06-29
    • 1970-01-01
    • 2021-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-25
    相关资源
    最近更新 更多