Google compute engine 权限被拒绝(公钥、gssapi keyex、带麦克风的gssapi)
创建实例后,我可以使用gcutil或ssh登录。我尝试从实例底部列出的ssh链接复制/粘贴,并收到相同的错误消息。权限被拒绝错误可能表明ssh私钥身份验证失败。假设您使用的是从gcutil推荐的Debian或Centos映像派生的映像,它可能是以下之一:Google compute engine 权限被拒绝(公钥、gssapi keyex、带麦克风的gssapi),google-compute-engine,Google Compute Engine,创建实例后,我可以使用gcutil或ssh登录。我尝试从实例底部列出的ssh链接复制/粘贴,并收到相同的错误消息。权限被拒绝错误可能表明ssh私钥身份验证失败。假设您使用的是从gcutil推荐的Debian或Centos映像派生的映像,它可能是以下之一: 您没有将任何ssh密钥加载到ssh密钥链中,也没有使用-i选项指定私有ssh密钥 您的ssh密钥都与您尝试登录的帐户的.ssh/authorized_密钥中的条目不匹配 您正在尝试登录到计算机上不存在的帐户,或尝试以root用户身份登录。(默认
-i
选项指定私有ssh密钥gcutil getserialportoutput
读取最后1MB的串行端口输出,这在机器没有通过SSH响应时非常方便
gcutil ssh的工作原理:
gcutil ssh
执行以下操作:
$HOME/.ssh/google\u compute\u engine
中查找密钥,如果不存在,则调用ssh keygen
创建密钥sshKeys
项目元数据项的当前内容,以查找类似${USER}:$(cat$HOME/.ssh/google\u compute\u engine.pub)
gcutil-ssh
调用带有一些命令行参数的ssh
,以连接到VMsshKeys
的脚本,控制台和命令行工具将不会意识到修改sshKeys
无效,并且上面的许多自动魔法可能会被破坏ssh
,它可能找不到您的.ssh/google\u compute\u引擎
密钥。您可以通过使用gcutil ssh
,或通过复制ssh公钥(以.pub
结尾)并添加到控制台中项目或实例的sshKeys
条目来修复此问题。(您还需要输入用户名,可能与您的本地计算机帐户名相同。)gcutil ssh
,则可能没有.ssh/google\u compute\u engine.pub
文件。您可以使用ssh-keygen
创建新的ssh公钥/私钥对并将其添加到sshKeys
,如上所述,或者使用gcutil-ssh
创建它们并管理sshKeys
sshKeys
条目中的帐户名可能与您的本地用户名不匹配,您可能需要向SSH提供-l
参数我也有同样的问题,出于某种原因,sshKeys没有在实例上与我的用户同步 我通过向gcutil命令添加--ssh\u user=anotheruser创建了另一个用户 gcutil看起来像这样
gcutil --service_version="v1" --project="project" --ssh_user=anotheruser ssh --zone="us-central1-a" "inst1"
你还没有接受答案,以下是我的工作:
在不允许更改用户名的情况下,我在网关计算机上将此问题的主题设置为错误。在连接到我刚刚创建的计算引擎VM后,我刚刚收到一条类似的消息[我的消息是“权限被拒绝(公钥)”]。读完这篇文章后,我决定再试一次 那次成功了。所以我认为它第二次起作用有三个可能的原因
- 第二次连接可以解决问题(在第一次创建ssh密钥之后),或者
- 可能在创建计算引擎后立即尝试连接到该引擎也会导致问题在一段时间后自行解决,或者
- 仅仅阅读这篇文章就能解决问题
我怀疑最后一个不太可能:)确保您的主目录和您连接到的主机上的用户的主目录上的权限设置为700(拥有用户rwx只是为了防止其他人看到.ssh子目录) 然后确保~/.ssh目录也是700(用户rwx),并且授权的_密钥是600(用户rw)
您的~/.ssh目录中的私钥应该是600或400(用户rw或用户r)我一直面临这个问题。最后是ssh添加的问题。未考虑Git ssh凭据 检查以下命令是否适用于您:
ssh-add
你需要按照这个指示去做 如果使用以下命令获取“权限被拒绝(公钥)。”
ssh-i~/.ssh/my-ssh-key[USERNAME]@[IP\u地址]
您需要修改/etc/ssh/sshd_配置文件并添加行
允许用户[用户名]
然后使用以下命令重新启动ssh服务:
服务ssh重启
如果你得到消息
ssh-keygen -b521 -t ecdsa -C myname -f mykeypair