浏览器的 Google 控制台 SSH 无法连接

浏览器的 Google 控制台 SSH 无法连接

我在 Google 控制台中有这个 VM 实例。该实例是在另一个组织的项目中创建的,然后分配给我的电子邮件地址。

我被分配了 IAM 中的所有管理相关角色

我尝试直接通过浏览器访问该实例但失败了。

我在浏览器的控制台 SSH 上不断收到错误

然后我尝试添加密钥并直接连接。我尝试在 Windows 中使用 PuTTy 以及在 Ubuntu 中使用终端。

我曾尝试向项目添加密钥

我曾尝试直接向实例添加密钥

我从实例中得到的所有信息是 Ubuntu 中的“身份验证失败次数过多”和 PuTTy 中的“拒绝我们的密钥”

服务器有网络设置: Ingress : Allow SSH from anywhere : Apply to all : IP ranges: 0.0.0.0/0 : tcp:22 : Allow

我可以毫无问题地访问其他几个实例,所以这个问题让我很困惑!

答案1

根据您的描述,您的实例似乎正在使用os-login 功能,因为您提到该实例是在另一个组织内的项目中创建的,如果是这样的话,您在项目内的用户帐户中缺少一些角色,并且在组织级别下也缺少一些角色(不确定这是否已在组织级别应用)

1- 对于您的电子邮件地址,您需要有iam.serviceAccountUser以及以下登录角色之一:

  • compute.os登录角色,不授予管理员权限
  • 计算.osAdminLogin角色,授予管理员权限

2- 在组织层面,他们需要计算.osLoginExternalUser角色以允许组织外部的外部用户访问他们的实例。


如果你没有使用 os-login 功能,我建议你检查一下宾客环境如果它运行正确。

答案2

如果计算引擎实例不再接受 SSH 连接,则可能有很多原因导致这种情况发生。SSH 连接问题的一些常见原因如下:

-- 实例上已启用 OS Login [2]

-- 操作系统登录未启用 [3]

-- 实例的磁盘已满

-- sshd 守护进程配置不正确

ssh 故障排除文档 [1] 描述了许多解决一些最常见的 SSH 问题的技巧和方法。

如果本文档 [1] 中提供的步骤对您不起作用,并且您需要从持久启动磁盘恢复数据,则可以分离启动磁盘,然后将该磁盘作为辅助磁盘附加到新实例上 [4]。

为了更好地理解角色和权限文档[5]可能会有所帮助。

[1]https://cloud.google.com/compute/docs/troubleshooting/troubleshooting-ssh

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

[3]https://github.com/GoogleCloudPlatform/compute-image-packages/tree/master/packages/python-google-compute-engine#accounts

[4]https://cloud.google.com/compute/docs/troubleshooting/troubleshooting-ssh#move_boot_disk

[5]https://cloud.google.com/iam/docs/understanding-roles

相关内容