gcloud ssh - 没有可用的支持身份验证方法(服务器已发送:publickey)

时间:2016-02-15 22:11:58

标签: ssh google-cloud-platform gcloud

我正在尝试按照简单的ssh进程来处理here所描述的实例。 不幸的是我一直收到这个错误:

 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. 登录
  4. 获取将生成ssh密钥的警告

    WARNING: You do not have an SSH key for Google Compute Engine.
    WARNING: [C:\Program Files (x86)\Google\Cloud SDK\google-cloud-sdk\bin\sdk\winkeygen.exe] will be executed to generate a key.
    Updated [https://www.googleapis.com/compute/v1/projects/sharp-kayak-120708].
    
  5. 我收到上述错误

    Server refused our key
    FATAL ERROR: Disconnected: No supported authentication methods available (server sent: publickey)
    
  6. 我看到在本地计算机和实例上创建的密钥(gcloud将它们添加到元数据 - > SSH密钥)。在网络设置中允许SSH。

    我尝试了另一种描述here的路线:

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

      No supported authentication methods available
          (server sent: publickey)
      
    5. 非常感谢您的想法。

2 个答案:

答案 0 :(得分:2)

感谢George帮助解决问题https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!topic/gce-discussion/uAPNpkBJXi4

这里一步一步指导:

  1. 下载PuTTY和PuTTYgen。
  2. 使用PuTTYgen生成密钥。用您的Windows用户名替换评论框中的文本。将窗口中的代码复制并粘贴到项目的SSH密钥和实例的SSH密钥中(转到实例,编辑,向下滚动到SSH密钥列表,然后单击"添加")(不确定是否有必要) 。不要使用密码短语。
  3. 另外,另存为私钥文件。为方便起见,请将其保存在C:\ Users \ .ssh文件夹中。 PuTTY需要这种格式的密钥才能工作。
  4. 打开PuTTY。将密钥添加到会话中:连接> SSH>验证>浏览..指向您刚刚在.ssh中创建的新生成的密钥文件。
  5. 设置会话。输入IP地址。此时值得保存 - 它会记住IP和密钥。
  6. 打开...
  7. 以以下身份登录:...输入您添加为密钥gen中的注释的Windows用户名。
  8. 我现在正在运行!期待一个让#34; google compute ssh命令正常工作的修复程序!错误报告:https://code.google.com/p/google-cloud-sdk/issues/detail?id=546

答案 1 :(得分:1)

感谢您的报道。

Cloud SDK版本98.0.0中修复了此问题。它包括识别损坏的Windows密钥文件并在运行中重新生成它们的补救措施。

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