如何在同一项目中将文件从一个gcp实例复制到另一个gcp实例



我目前正在GCP上每个可用区域运行29个实例。我需要所有的实例都有一些python脚本文件。

由于我厌倦了通过控制台手动上传29次,我想知道是否有办法只在一个实例中上传脚本,并使用gcloud-scp命令将它们全部复制到其他28个实例?

目前,我正在尝试以下操作:

sudo gcloud compute scp --zone='asia-east1-b' /home/file.txt instance-asia-east1:/home/

上面的代码正在尝试scp";文件.txt";转到instance-asia-east1。我包含了sudo命令,因为它有一些权限问题。但在添加sudo后,我收到了另一条错误消息:

root@000.000.000.00: Permission denied (publickey).
lost connection
ERROR: (gcloud.compute.scp) [/usr/bin/scp] exited with return code [1].

问题出在哪里?我该如何解决?

您应该避免使用sudo

如果将--verbosity=debug添加到gcloud compute sshgcloud compute scp命令中(本例除外(,则gcloud会调用主机(可能是/usr/bin(的sshscp命令。它使用由gcloud使用您的凭据(gcloud config get account或默认gcloud auth list(生成的私钥。

gcloud compute scp 
${PWD}/${FILE} 
${INSTANCE}:. 
--project=${PROJECT} 
--zone=${ZONE} 
--verbosity=debug

收益率:

DEBUG: Running [gcloud.compute.scp] with arguments: ...
...
DEBUG: Current SSH keys in project: ['...:ssh-rsa ... user@host']
DEBUG: Running command [/usr/bin/scp -i .../.ssh/google_compute_engine -o ...
INFO: Display format: "default"
DEBUG: SDK update checks are disabled.

注意/usr/bin/scp -i .../.ssh/google_compute_engine ...

当您以sudo的身份运行时,即使您复制了有证书的用户的google_compute_engineSSH密钥(例如/root/.ssh(,经过身份验证的用户也不会匹配,除非您还复制了gcloud配置。。。

我建议您解决触发您使用sudo的权限问题。

相关内容

  • 没有找到相关文章

最新更新