Google cloud storage 如何将文件作为超级用户从google cloud shell环境复制到虚拟机?

Google cloud storage 如何将文件作为超级用户从google cloud shell环境复制到虚拟机?,google-cloud-storage,lamp,bitnami,google-cloud-shell,Google Cloud Storage,Lamp,Bitnami,Google Cloud Shell,无法将文件作为超级用户从云Shell复制到虚拟机 以下代码适用于我,但我无法使用它将文件复制到LAMP堆栈中的受保护目录(即/opt/bitnami/apache2/htdocs) 如果我尝试使用:gcloud compute scp--project“[MY project ID]”~/file.php lampstack vm:~/opt/bitnami/apache2/htdocs/file.php 权限被拒绝(公钥)。断开连接错误: (gcloud.compute.scp)[/usr/b

无法将文件作为超级用户从云Shell复制到虚拟机

以下代码适用于我,但我无法使用它将文件复制到LAMP堆栈中的受保护目录(即/opt/bitnami/apache2/htdocs)

如果我尝试使用:
gcloud compute scp--project“[MY project ID]”~/file.php lampstack vm:~/opt/bitnami/apache2/htdocs/file.php

权限被拒绝(公钥)。断开连接错误: (gcloud.compute.scp)[/usr/bin/scp]已退出,返回代码为[1]


将文件从Google Cloud Shell复制到VM的步骤

步骤1:使用chown在VM机器目录中授予您的Google用户名权限:

sudo chown-R[您的谷歌云用户名][权限目录]

示例:
sudo chown-R myusername/opt/bitnami/apache2/htdocs

第2步:使用gcloud compute scp命令调用以下参数:

''gcloud compute scp--project“project NAME”[云Shell中的原始位置][您的谷歌云用户名]@[要接收文件的VM实例的名称]:[目录和文件名]''

示例:
gcloud compute scp--project“myprojectname”~/colors.phpmyusername@myvm-实例:/opt/bitnami/apache2/htdocs/colors.php

这里是Bitnami工程师。您还需要指定连接到远程实例时要使用的用户。你能试着使用
bitnami@lampstack-vm:~/file.php
执行命令时?有一个类似的帖子,谢谢你的投入。我找到了解决办法。我必须首先向chown授予我在VM实例中的用户名权限。然后,正如您所指出的,使用我的用户名@复制到实例中。嗨,Alfredo,在实例中为您的用户名授予写权限是解决方案之一,但我不建议您这样做。它会破坏应用程序(这不是您的情况),这就是为什么我建议使用
bitnami@your-vm
,因为
bitnami
用户在安装中具有写入权限。确定获得它。我感谢你的跟进。将更改并使用bitnami。
gcloud compute scp --project "[MY PROJECT ID]" ~/file.php lampstack-vm:~/file.php