这个问题主要是你连接的用户名没有访问GCE中的shell造成的。所以你使用下面的步骤来解决这个问题。
gcloud auth list
如果您使用的是正确的登录名。请按照以下步骤操作。否则使用
gcloud auth revoke --all
gcloud auth login [your-iam-user]
你得到令牌或者它会自动检测令牌。
gcloud compute --project "{projectid}" ssh --zone "{zone_name}" "{instance_name}" .
如果你不知道上面这一行,请点击compute engine-> ssh dropdown arrow-> view google command-> copy该代码并使用它
现在它会更新您的元数据,并且可以在您计算机的文件夹 Users->username 中找到它
~/.ssh/google_compute_engine.ppk
~/.ssh/google_compute_engine.pub
然后您使用puttygen 创建一个新的ppk 文件并提供您想要的用户名,例如my_work_space。然后
将公钥和私钥保存在一个文件夹中。
下一步:从 puttygen 复制公钥数据并在 gcloud 元数据中创建新的 ssh 密钥
cloud console ->compute engine->metadata->ssh key->add new item->paste the key and save it
现在返回你的shell命令行工具然后输入
sudo chown -R my_work_space /home/my_work_space
现在您使用 sftp 将此私钥连接到任何地方。它打开文件而不显示权限错误
:) 欢乐时光。