gcloud ssh -- 没有可用的身份验证方法(服务器发送:公钥)



我正在尝试遵循一个简单的过程,对此处描述的实例进行ssh'ing。不幸的是,我不断收到此错误:

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

看起来我做的一切都是正确的。

  1. 我创建了一个新的 ubuntu instanse
  2. 尝试使用$ gcloud compute username@ssh example-instance --zone us-central1-a登录
  3. 收到将生成 ssh 密钥的警告

    WARNING: You do not have an SSH key for Google Compute Engine.
    WARNING: [C:Program Files (x86)GoogleCloud SDKgoogle-cloud-sdkbinsdkwinkeygen.exe] will be executed to generate a key.
    Updated [https://www.googleapis.com/compute/v1/projects/sharp-kayak-120708].
    
  4. 我收到上面提到的错误

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

我看到在本地机器和实例上创建的密钥(gcloud 将它们添加到元数据 -> SSH 密钥(。网络设置中允许使用 SSH。

我尝试了此处描述的替代路线:

  1. 使用 gcloud 生成 SSH
  2. 将其添加到选美
  3. 使用 PuTTY 的 SSH
  4. 相同的错误:

    No supported authentication methods available
        (server sent: publickey)
    

非常感谢您的想法。

感谢您的报告。

此问题已在云 SDK 版本 98.0.0 中修复。它包括识别损坏的 Windows 密钥文件并动态重新生成它们的修正。

问题出在google-cloud-sdk\bin\sdk\winkeygen.exe中。它拙劣地破坏了生成的.ppk.pub文件中的公钥模数表示。然后,ssh 服务器将模数解释为带符号的 bignum 并保释。

感谢乔治的帮助:https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!topic/gce-discussion/uAPNpkBJXi4

分步指南在这里:

  1. 下载PuTTY和PuTTYgen。
  2. 使用 PuTTYgen 生成密钥。将注释框中的文本替换为您的窗口用户名。将代码从窗口复制并粘贴到项目和实例的 SSH 密钥中(转到实例,编辑,向下滚动到 SSH 密钥列表并单击"添加"((不确定是否两者都是必需的(。不要使用密码短语。
  3. 此外,另存为私钥文件。为方便起见,请将其保存在 C:\Users\.ssh 文件夹中。PuTTY 将需要这种格式的密钥才能工作。
  4. 打开 PuTTY。将密钥添加到会话:连接>SSH>身份验证>浏览。指向刚刚在 .ssh 中创建的新生成的密钥文件。
  5. 设置会话。 输入 IP 地址。 此时值得保存 - 它会记住 IP 和密钥。
  6. 打开。。。
  7. 登录身份:...输入您在密钥生成中作为注释添加的 Windows 用户名。

我现在启动并运行了! 期待一个修复,让"谷歌计算ssh命令工作!错误报告:https://code.google.com/p/google-cloud-sdk/issues/detail?id=546

最新更新