这个问题以前可能被问过,但我不明白这个概念。你能在这里帮我吗?
今天早上的奇怪问题..看到我只是将我的文件推送到谷歌云计算,然后显示以下错误..我不知道在哪里查看该错误。
ri@ri-desktop:~$ gcloud compute --project "project" ssh --zone "europe-west1-b" "instance"
Warning: Permanently added '192.xx.xx.xx' (ECDSA) to the list of known hosts.
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
ERROR: (gcloud.compute.ssh) [/usr/bin/ssh] exited with return code [255].
当您的计算实例在其 SSHD 配置中具有PermitRootLogin no
并且您尝试以根用户身份登录时,会发生这种情况。您可以通过在实例名称前添加username@
来更改登录用户。下面是一个完整的示例:
gcloud compute instances create my-demo-compute
--zone us-central1-f
--machine-type f1-micro
--image-project debian-cloud
--image-family debian-8
--boot-disk-size=10GB
gcloud --quiet compute ssh user@hostname --zone us-central1-f
在上面的示例中,gcloud 将设置正确的凭据并确保您登录。您可以添加--quiet
以忽略 ssh 密码问题。
一个可能的原因是项目中的其他人为 sshKeys 设置了每实例的元数据(这会覆盖项目范围的元数据)。运行gcloud compute instances describe your-instance-name
时,是否在元数据项中看到名为 sshKeys
的键?
查看最新登录~/.config/gcloud/logs/
的内容也会有所帮助。但是,请确保清除其中的敏感信息。
遇到同样的问题后,我有一台MacBook,我以这种格式重新创建了SSH密钥并且工作正常。
- 使用以下命令生成密钥:
ssh-keygen -t rsa -C your_username
- 复制密钥并将 ssh 密钥粘贴到计算引擎元数据下:
cat ~/.ssh/id_rsa.pub
它应该工作正常