【问题标题】:Unable to connect to a compute engine instance though SSH/SFTP using an external account无法使用外部帐户通过 SSH/SFTP 连接到计算引擎实例
【发布时间】:2022-02-04 22:33:35
【问题描述】:

我无法连接到计算引擎实例的虚拟机。 我的帐户不在组织中,例如将“a.man@company.com”视为用户,将“wordpress-1-vm”视为实例,将“project-1”视为项目。 我的 SSH 密钥已经存在,这与其他服务器的密钥相同。

在组织级别,我们将 roles/compute.osLoginExternalUser 添加到我的帐户中,并且 enable-oslogin 设置为 TRUE。

现在可以连接 gcloud。

gcloud compute ssh --zone "us-central1-c" "wordpress-1-vm" --tunnel-through-iap --project "project-1"

从文档中,我运行了命令:

gcloud compute os-login ssh-keys add --key-file="D:\Path\to\key.pub" --project=project-1 --ttl=730d

根据 gcloud 命令,我的用户应该是“ext_a_man_company_com”。

这应该可以,但是在 PuTTY 上使用 ppk 连接到 ext_a_man_company_com@instance-ip:22 正在返回

"Server refused our key"
Disconnected: No supported authentication methods available (server sent: publickey)

我应该如何连接到这个服务器?

注意:我也尝试将 ssh 密钥添加到元数据,但没有成功。

【问题讨论】:

  • 我会尝试按照here中描述的步骤进行操作
  • 我应该遵循哪个答案?
  • 我建议使用 Puttygen 创建一对新的密钥,并确保 putty peagent 配置了正确的私钥和格式。

标签: google-cloud-platform ssh google-compute-engine


【解决方案1】:

您可以尝试使用these instructions 对操作系统登录配置进行故障排除。

如果您尝试直接通过虚拟机的元数据添加密钥,那么您需要记住关闭此特定虚拟机的操作系统登录以使其正常工作。

假设这两个选项都不起作用,那么我建议检查您的 putty 配置并确保您使用的是正确的用户。您应该能够直接在您的实例上查看 sshd 日志中发生的情况(通过控制台或 gcloud 进行日志记录以获得访问权限)。

【讨论】:

  • 感谢您的帮助,但按照本指南,一切似乎都很好。我认为这是公钥格式的问题。
  • 这是使用正确公钥格式的 ssh key 命令修复的,但事实上,我确信我遇到了几个问题,并且我知道当前的问题是什么,我一一解决了。跨度>
  • 太棒了。很高兴听到您能够修复它。
猜你喜欢
  • 1970-01-01
  • 2019-05-27
  • 1970-01-01
  • 1970-01-01
  • 2020-08-29
  • 2018-10-28
  • 2011-10-30
  • 1970-01-01
  • 2020-09-21
相关资源
最近更新 更多