我试图遵循一个简单的ssh'ing过程到here描述的实例 . 不幸的是我一直收到这个错误:
Server refused our key FATAL
ERROR: Disconnected: No supported authentication methods available
(server sent: publickey)
看起来我正确地做了一切 .
-
我创建了一个新的ubuntu instanse
-
尝试使用
$ gcloud compute username@ssh example-instance --zone us-central1-a
登录 -
获取将生成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].
- 我收到上面提到的错误
Server refused our key
FATAL ERROR: Disconnected: No supported authentication methods available (server sent: publickey)
我看到在本地机器和实例上创建的密钥(gcloud将它们添加到元数据 - > SSH密钥) . 在网络设置中允许SSH .
我尝试了另一种描述here的路线:
-
使用gcloud生成ssh
-
将其添加到选美
-
使用PuTTY进行SSH
-
同样的错误:
No supported authentication methods available
(server sent: publickey)
真的很感激你的想法 .
2 回答
谢谢你的报道 .
Cloud SDK版本98.0.0中修复了此问题 . 它包括识别损坏的Windows密钥文件并在运行时重新生成它们的补救措施 .
问题发生在 google-cloud-sdk\bin\sdk\winkeygen.exe . 它在生成的 .ppk 和 .pub 文件中破坏了公钥模数表示 . 然后ssh服务器将模数解释为带符号的bignum并保释 .
感谢乔治的帮助 with work around :https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!topic/gce-discussion/uAPNpkBJXi4
这里一步一步指导:
下载PuTTY和PuTTYgen .
使用PuTTYgen生成密钥 . 用您的Windows用户名替换评论框中的文本 . 将窗口中的代码复制并粘贴到项目的SSH密钥和实例的SSH密钥中(转到实例,编辑,向下滚动到SSH密钥列表并单击"add")(不确定是否有必要) . 不要使用密码短语 .
另外,另存为私钥文件 . 为方便起见,请将其保存在C:\ Users \ .ssh文件夹中 . PuTTY需要这种格式的密钥才能工作 .
打开PuTTY . 将密钥添加到会话中:Connection> SSH> Auth> Browse ..指向您刚刚在.ssh中创建的新生成的密钥文件 .
设置会话 . 输入IP地址 . 值得在此时节省 - 它将记住IP和密钥 .
打开......
以以下身份登录:...输入您添加为密钥gen中的注释的Windows用户名 .
我现在正在运行!期待一个解决方案让“google compute ssh命令工作!Bug报告:https://code.google.com/p/google-cloud-sdk/issues/detail?id=546