Měl jsem stejný problém a nepodařilo se mi to pomocí metod navržených v ostatních odpovědích. To, co nakonec fungovalo, bylo výslovně odeslat mého „uživatele“ při kopírování souboru, jak je uvedeno v oficiální dokumentaci. Důležitou součástí je "[email protected]" v
gcloud compute scp [[[email protected]]INSTANCE:]SRC [[[[email protected]]INSTANCE:]SRC …] [[[email protected]]INSTANCE:]DEST
V mém případě jsem mohl zpočátku přenášet soubory zadáním:
gcloud compute scp instance_name:~/file_to_copy /local_dir
ale poté, co jsem dostal povolení odepřeno, zprovoznil jsem to tak, že jsem místo toho napsal:
gcloud compute scp [email protected]_name:~/file_to_copy /local_dir
kde v mém případě bylo uživatelské jméno to, se kterým jsem byl přihlášen do Google Cloud.
 vložte [email protected] před názvem instance:
local:$ gcloud compute copy-files /Users/Bryan/Documents/Websites/gce/index.php [email protected]:/var/www/html --zone us-central1-a
Ke kopírování z místního počítače do zapisovatelného adresáře na vzdáleném počítači GCE používám bash skript; pak pomocí ssh přesuňte soubory.
SRC="/cygdrive/d/mysourcedir"
TEMP="~/incoming"
DEST="/var/my-disk1/my/target/dir"
Musíte také nastavit GCE_USER a GCE_INSTANCE
echo "=== Pushing data from $SRC to $DEST in two simple steps"
echo "=== 1) Copy to a writable temp directoy in user home"
gcloud compute copy-files "$SRC"/*.* "${GCE_USER}@${GCE_INSTANCE}:$TEMP"
echo "=== 2) Move with 'sudo' to destination"
gcloud compute ssh ${GCE_USER}@${GCE_INSTANCE} --command "sudo mv $TEMP/*.* $DEST" 
V mém případě nechci chown cílový adresář, protože to způsobuje další problémy s jinými skripty ...
 Důvodem, proč to nefunguje, je, že vaše uživatelské jméno nemá oprávnění k instanci virtuálního počítače GCE, a proto nemůže zapisovat do /var/www/html/ . 
 Poznámka že jelikož se tato otázka týká virtuálních počítačů Google Compute Engine, nemůžete SSH přímo na virtuální počítač jako root , ani nemůžete kopírovat soubory přímo jako root , ze stejného důvodu:gcloud compute copy-files používá scp který se opírá o ssh pro ověření.
Možná řešení:
-  (také navrhl Faizan v komentářích) toto řešení bude vyžadovat vždy dva kroky -  použijte gcloud compute copy-filespro přenos souborů/adresářů, do kterých může uživatel zapisovat, např./tmpnebo/home/$USER
-  přihlaste se k virtuálnímu počítači GCE pomocí gcloud compute sshnebo prostřednictvím SSH tlačítko na konzole a zkopírujte pomocísudozískat správná oprávnění:# note: sample command; adjust paths appropriatelysudo cp -r $HOME/html/* /var/www/html
 
-  
-  toto řešení je jedním krokem s několika předchozími přípravnými pracemi: -  jednorázové nastavení:udělte svému uživatelskému jménu přístup pro zápis na /var/www/htmlpřímo; to lze provést několika způsoby; zde je jeden přístup:# make the HTML directory owned by current user, recursivelysudo chown -R $USER /var/www/html
-  nyní můžete spustit kopii v jednom kroku: gcloud compute copy-files /Users/Bryan/Documents/Websites/gce/index.php example-instance:/var/www/html --zone us-central1-a
 
-