无法将文件scp到gcloud:Permission denied(publickey)

问题描述 投票:1回答:2

我正在尝试使用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
google-cloud-platform gcloud scp
2个回答
2
投票

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

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


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>

© www.soinside.com 2019 - 2024. All rights reserved.