使用gcloud compute scp在实例之间复制文件

时间:2017-09-13 17:29:09

标签: google-compute-engine gcloud

我碰到了这堵砖墙。我已授予两个实例完全访问权限:允许完全访问所有Cloud API。

我使用以下命令

gcloud compute scp [myinstancename]:/var/www  /var/www --recurse --zone europe-west1-d

gcloud compute scp root@[myinstancename]:/var/www  /var/www --recurse --zone europe-west1-d

Google Cloud Network Firewall已启用SSH。

无论我尝试过什么,我都会收到以下错误

  

许可被拒绝(publickey,gssapi-keyex,gssapi-with-mic)。

提前致谢。

1 个答案:

答案 0 :(得分:1)

你需要检查几件事:

  • 您是否已为实例或项目元数据添加/编辑了ssh密钥?如果是这样,请确保在本地计算机的用户目录中具有正确的公钥文件:

的.ssh / google_compute_engine

  • 您可以使用gcloud命令ssh到实例吗?

    gcloud compute ssh [instance_name]
    

您应该已经安装了gcloud sdk,安装它的官方方式在Google Cloud docs中有详细说明:

Installing Cloud SDK

如果您从未在本地计算机上运行gcloud命令,则需要通过运行来初始化它:

gcloud init
  • 如果仍然无法从本地计算机ssh到该实例,请确保在用户目录中包含公钥文件:

如果你运行带有一些调试标志的gcloud ssh会有所帮助:

gcloud compute ssh [instance_name] --log-http --verbosity debug
  • 计算引擎API配额。通常这不应该改变,但可能是其他人错误地将最大请求限制在API。