繁体   English   中英

Google Cloud 不管理虚拟机中的用户/SSH

[英]Google Cloud not managing users/SSH in VMs

我们已经升级了 Google Cloud 实例中的 Debian 分布,GCloud 似乎无法再管理实例中的用户及其 SSH 密钥。

我已经安装了以下工具:

  • google-cloud-packages-archive-keyring/now 1.2-499050965 全部
  • google-cloud-sdk/cloud-sdk-bullseye,现在 412.0.0-0 全部
  • google-compute-engine-oslogin/google-compute-engine-bullseye-stable,now 1:20220714.00-g1+deb11 amd64
  • google-compute-engine/google-compute-engine-bullseye-stable,now 1:20220211.00-g1 all
  • google-guest-agent/google-compute-engine-bullseye-stable,now 1:20221109.00-g1 amd64
  1. 我无法通过 UI 连接。 它卡在“正在将 SSH 个密钥传输到实例”上。 “故障排除”表示一切正常。
  2. 当尝试通过gcloud compute ssh连接时,它死于

    权限被拒绝(公钥)

  3. 我仍然可以与其他用户一起访问该实例,但没有创建新用户,也没有传输 SSH 密钥。

我还缺少什么?

编辑:

您是否已将 SSH 密钥添加到项目元数据或实例元数据? 如果它的实例元数据,项目级别 ssh 密钥是否被阻止?

我没有添加任何元数据。

您的用户帐户是否在项目中具有对实例的 SSH 的必要权限(例如所有者、编辑或计算实例管理员 IAM 角色)?

是的,这在 debian 升级到 bookworm 之前一直有效。 我可以看到所有与 google-cloud 相关的包都被删除了,我不得不安装它们。

您是否可以使用 ssh 客户端(例如 Putty)将 SSH 连接到实例?如果可以,您需要确保实例上正在运行 Google 客户经理守护程序。

我可以很好地使用在 Debian 升级之前在机器上处于活动状态的帐户 SSH。 这些帐户已经正确设置并运行了.ssh目录。 新的谷歌用户无法登录。

试试gcloud beta compute ssh --zone ZONE INSTANCE_NAME --project PROJECT

这仅适用于 Debian 升级前活跃的用户。

如果是,您需要确保 Google 客户经理守护程序正在该实例上运行。

我安装了缺少的google-compute-engine-oslogin package,但似乎没有效果,新用户仍然无法登录。

编辑2:

When connecting to serial console, it gets stuck on: csearch-dev google_guest_agent[2839775]: ERROR non_windows_accounts.go:158 Error updating SSH keys for gke-495d6b605cf336a7b160: mkdir /home/gke-495d6b605cf336a7b160/.ssh: no such file or directory. - 同样的问题, SSH 密钥从未转移到实例中。

您可以执行以下几项操作来解决权限被拒绝(公钥)错误消息的问题:

首先,您必须确保您已使用具有compute instance admin 角色的 IAM 用户通过 gcloud 正确验证自己。 您可以通过运行gcloud auth login [USER]然后再次try gcloud compute ssh来做到这一点。

您还可以验证 Linux 来宾环境脚本是否已正确安装和运行。 请参阅 此页面以获取有关验证更新手动安装来宾环境的信息。

另一种可能性是私钥丢失或我们的密钥对不匹配。 要强制 gcloud 生成新的 SSH 密钥对,您必须先移动~/.ssh/google_compute_engine~/.ssh/google_compute_engine.pub如果存在),例如:

mv ~/.ssh/google_compute_engine.pub ~/.ssh/google_compute_engine.pub.old
mv ~/.ssh/google_compute_engine ~/.ssh/google_compute_engine.old

完成后,您可以再次尝试gcloud compute ssh [INSTANCE-NAME] ,应该创建一个新的密钥对,并将公钥添加到 SSH 密钥元数据中。

请参阅Sunny-jAnswer以查看受影响实例的串行端口日志,以获取有关该问题的可能线索。 另请参阅解决被锁定在 Compute Engine 之外的问题以获取更多信息。

编辑:请参阅此类似的SO使用串行控制台进行故障排除,这有助于解决您的错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM