无法将文件压缩到gcloud:权限被拒绝(公钥)

时间:2018-11-26 16:16:32

标签: google-cloud-platform gcloud scp

我正尝试使用gcloud将文件复制到计算实例中:

gcloud compute scp ./file.txt.bz2 root@instance-1:/home/mehran/

我正遇到错误:

No zone specified. Using zone [us-central1-c] for instance: [instance-1].
root@###.###.###.###: Permission denied (publickey).
lost connection
ERROR: (gcloud.compute.scp) [/usr/bin/scp] exited with return code [1].

我也没有root进行过测试:

gcloud compute scp ./file.txt.bz2 instance-1:/home/mehran/

并面临相同的错误。在这种情况下,我可以 ssh进入同一实例而没有任何问题:

gcloud compute ssh instance-1

2 个答案:

答案 0 :(得分:2)

显然,我的用户没有对主文件夹的写入权限!甚至chmod 777也无济于事。我最终复制到/tmp文件夹,然后从那里拿起它!

由于某些原因,ssh(基于Web)和scp使用了不同的用户。这就是为什么我的scp用户无法访问该文件夹的原因。它试图写入另一个用户的主文件夹。

答案 1 :(得分:0)

即使这篇文章看起来已经解决了,我也遇到了类似的问题:我可以通过SSH进入实例,但无法获得scp。原来我实例上的文件夹没有读/写权限,所以我无法复制(写)到该文件夹​​。

授予权限:

chmod 777 <folder-name>

将文件/文件夹复制到实例中的文件夹:

sudo gcloud compute scp <file-to-copy> <username>@<instance-name>:<folder-to-copy-to-which-requires-permissions> --zone <zone> --project <project-id>