如何提升我的 gcloud scp 和 ssh 命令?

how do I elevate my gcloud scp and ssh commands?

我希望能够使用 gcloud 在我的实例中触发命令,因为它会为我处理身份验证。这很好用,但我如何 运行 他们具有 sudo/root 访问权限?

例如,我可以将文件复制到 我的 帐户文件夹:

gcloud compute scp --recurse myinst:/home/me/zzz /test --zone us-east1-b

但我无法复制到 /tmp:

gcloud compute scp --recurse /test myinst:/tmp --zone us-east1-b
pscp: unable to open directory /tmp/.pki: permission denied
19.32.38.265147.log       | 0 kB |   0.4 kB/s | ETA: 00:00:00 | 100%
pscp: unable to open /tmp/ks-script-uqygub: permission denied

使用 sudo 运行 "gcloud compute scp" 的正确方法是什么?需要说明的是,我当然可以通过 ssh 进入实例并 运行 以交互方式执行 sudo

编辑:目前我只是在编辑远程主机上的权限

请注意,我的理解是正确的,您是要从远程 /tmp 文件夹复制还是复制到它?这个问题听起来像是你试图复制到它,但代码说你正在尝试从它复制。

这在过去对我有用,可以从我的本地驱动器复制到远程驱动器,尽管我对 运行 远程 sudo 有一些担忧:

gcloud compute scp myfile.txt [gce_user]@myinst:~/myfile.txt --project=[project_name];
gcloud compute ssh [gce_user]@myinst --command 'sudo cp ~/myfile.txt /tmp/' --project=[project_name];

如果您需要远程访问 /tmp 的内容,然后将它们复制到您的本地驱动器,您将反转该过程(并且显然重写命令的方向和顺序)。

希望对您有所帮助!