Google cloud platform 将文件从一个linux VM实例复制到google云平台上同一项目中的另一个

Google cloud platform 将文件从一个linux VM实例复制到google云平台上同一项目中的另一个,google-cloud-platform,Google Cloud Platform,我是谷歌云的新手。我见过类似的问题,但我不明白答案。如果有人能简单地指导解决这个问题,那就太好了。 我在谷歌云上的同一个项目下有两个linux VM实例。我想将文件从一个VM复制到另一个VM 我尝试了复制文件命令。它抛出错误“已弃用,改用scp” 我试过“gcloudcomputescp”user@vm2_instance_name:vm2_实例_文件_路径” 其他答案说使用“服务帐户”。我读了关于它们的文章,创建了一个,并创建了一个.json格式的key,但不知道之后该怎么做。感谢您的建议。解

我是谷歌云的新手。我见过类似的问题,但我不明白答案。如果有人能简单地指导解决这个问题,那就太好了。 我在谷歌云上的同一个项目下有两个linux VM实例。我想将文件从一个VM复制到另一个VM

我尝试了复制文件命令。它抛出错误“已弃用,改用scp” 我试过“gcloudcomputescp”user@vm2_instance_name:vm2_实例_文件_路径”

其他答案说使用“服务帐户”。我读了关于它们的文章,创建了一个,并创建了一个.json格式的key,但不知道之后该怎么做。感谢您的建议。

解决了这个问题。就我个人而言,我一直倾向于使用,因为它既提供了一种执行传输的简单方式,又不一定会消除其他传输选项提供的任何复杂性和功能


无论如何,在提供的文档中,您很可能会找到更符合您需要的方法。

如果您是在一个实例中,请不要担心谷歌云。只需执行
scp
即可将文件从VM复制到另一个VM

如果虚拟机上没有自定义用户,可以忽略它

scp:

关于服务帐户,如果你的虚拟机在谷歌云中,他们默认拥有计算引擎服务帐户
-compute@developer.gserviceaccount.com


如果需要,您可以自定义此服务帐户。必须使用此服务帐户才能识别执行API调用或
gcloud
命令的VM

这是适合我的解决方案:

1. gcloud compute instances list 
   NAME            ZONE            MACHINE_TYPE   PREEMPTIBLE  
   INTERNAL_IP    EXTERNAL_IP     STATUS
   instance-1      us-central1-a   n2-standard-8               
   10.128.0.60    34.66.177.187   RUNNING
   instance-2      us-central1-a   n1-standard-1               
   10.128.15.192  34.69.216.153   STAGING

2. gcloud compute ssh instance-1 --zone=us-central1-a 

3. user@instance-1:~$ ls
   myfile

4. usernstance-1:~$ gcloud compute scp myfile user@instance-2:myfile

5. gcloud compute ssh instance-2 --zone=us-central1-a 

6. user@instance-2:~$ ls
   myfile

答案应该是自包含的,并带有指向文档的链接,以增加价值。链接断开并被删除;文件更改。Stackoverflow搜索引擎无法索引不存在的详细信息。在本例中,OP说他尝试了
gcloud compute scp
,但它不起作用,因此您在没有更好的解决方案的情况下推荐他使用同一命令。@JohnHanley感谢您的更正,请记住继续前进。关于我的建议,我假设是“复制文件”命令失败了,而不是
gcloud compute scp
,尽管这可能是我的误解。感谢所有花时间回答我问题的人。我得到了错误----“错误:(gcloud.compute.instances.list)某些请求未成功:-权限不足:请求的身份验证作用域不足。”----然后我找到了答案。[.谢谢@marian.vladoi