谷歌云ssh权限被拒绝 (publickey,gssapi-keyex,gssapi-with-mic)

4
每次我尝试通过SSH进入Google Compute Engine中的VM实例时,都会收到以下错误消息:
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
我尝试了以下步骤:
1. 使用命令ssh-keygen -t rsa -f ~/.ssh/[filename] -C [username]生成了一个ssh密钥。 2. 将公钥复制到实例ssh列表中。 3. 然后尝试使用私钥ssh -i [privatekeyname] [username]@[ipaddress]连接计算引擎。
可能出现了什么问题?还是我漏掉了一些步骤?

运行您的ssh命令时,请使用-vv选项并发布输出结果,但编辑掉您的详细信息 :) - Danielle M.
2个回答

10

在尝试连接时我遇到了这个问题。我在元数据中将 "enable-oslogin TRUE" 更改为 "enable-oslogin FALSE",然后它又开始工作了。


1
非常感谢@Jonathan。我浪费了一个多小时来解决这个问题。最终我在你的帮助下找到了答案。文档中说:“您必须使用以下选项之一向实例提供公共SSH密钥:...”。然后我两个都做了。这就是错误发生的原因。哈哈 =)) 只需遵循其中一个即可。 - Daniel Pham
救命稻草。就是这个了。谢谢。 - edrichhans

1
确保在创建密钥后已将其正确复制到VM实例中。有时在复制密钥时,可能会添加制表符、空格或其他缩进,这将导致密钥与创建的原始密钥不同。这是非常常见的失败原因。仅仅查看密钥文件并复制您看到的内容是不够的。您必须确保已复制了没有制表符、空格或其他缩进的密钥。
在连接时使用-i选项时,请仔细检查是否使用了正确的私钥。
使用-v、-vv或-vvv选项与您的ssh命令一起使用,以进一步排除故障。这些选项允许在ssh连接期间激活各种详细程度,有助于排除故障并精确定位问题所在。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接