`dnf upgrade` 后无法使用 OS Login 通过 SSH 进入 Google Cloud Compute 实例

`dnf upgrade` 后无法使用 OS Login 通过 SSH 进入 Google Cloud Compute 实例

我有一个运行 CentOS 7 的 Google Cloud Platform Compute 实例。它一直运行良好,我可以使用基于 Web 的 SSH 界面毫无问题地使用它。最近,我切换到“OS Login”并进行设置,以便我可以使用 RSA 密钥对 SSH 进行身份验证(使用我的计算机的终端程序,而不是使用浏览器终端窗口)。这也运行良好。(出于某种原因,GCP 在 CentOS 系统上为我创建了第二个用户帐户,但这对我来说并不重要。)
前几天,我跑去sudo dnf upgrade更新系统。更新完成,我跑去sudo shutdown -r now重启。

现在跑步uname -a让我Linux centos7 3.10.0-1062.12.1.el7.x86_64 #1 SMP Tue Feb 4 23:02:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

突然间,我无法使用 OS Login 通过 SSH 进入系统。(今天我关闭了 OS Login,但旧方法仍然有效。)以下是我遇到的问题:
- 我使用的 SSH 密钥不起作用(“权限被拒绝”)。我检查以确保它是正确的,并且我知道它没有过期。-
我无法像以前一样使用基于 GCP 浏览器的 SSH 机制。(我不确定,但这可能是因为我打开了 OS Login。)如果我尝试使用它,我会收到一条消息弹出窗口,上面写着(一个接一个):
“正在连接...将 SSH 密钥传输到 VM。”
“正在连接...建立与 SSH 服务器的连接。”
“无法连接,正在重试(1/3)...”
“连接到 SSH 服务器超时。”

“VM 串行控制台输出可能提供详细信息以帮助解决连接问题。请参阅我们的帮助文档以了解此问题的其他可能原因。” (几秒钟后,“(1/3)”部分变为“(2/3)”,然后变为“(3/3)”。)

帮助文档链接无法修复该问题。(https://cloud.google.com/compute/docs/ssh-in-browser#couldnotconnecterror)
- 我没有运行自定义操作系统映像。
- 我知道磁盘没有填满。
- 我没有对 SSH 密钥文件权限进行任何有趣的操作。

该实例似乎对 Web 界面的启动/停止控件作出了响应,因此我重新启动了它,但没有任何改变。

回顾弹出的消息,我检查了串行控制台输出。你可以在 pastebin 上看到一份副本:https://pastebin.com/p8yjGazG
我所看到的唯一可能存在问题的消息是关于无法发布 IPv6 租约,但我并不是专家。

是不是dnf upgrade破坏了什么东西?我是不是忽略了某些显而易见的东西?(是不是 Google 员工在搞恶作剧?)
如果有人能对这个问题提供一些见解,那就太好了!

答案1

这是 GCP 的正常行为。您不能同时启用 OS 登录和基于元数据的 SSH 密钥。请查看提供的文档。[1]

[1]https://cloud.google.com/compute/docs/instances/managing-instance-access

相关内容