Google Compute Engine にローカルのファイルをアップロードしようとしたときに、エラーに悩まされたので、メモ。
公式チュートリアル通りに、Gcloudをインストールして、いざ! と思ったらこんなエラーが出た。
C:\Users\user\AppData\Local\Google\Cloud SDK>gcloud compute scp C:\Users\user\Desktop\test.txt instance-1:/gcs
pscp: unable to open /gcs/test.txt: permission denied
ERROR: (gcloud.compute.scp) [C:\Users\user\AppData\Local\Google\Cloud SDK\google-cloud-sdk\bin\sdk\pscp.exe] exited with return code [1].
対処法
GCEのshellを開く。
1
username@instance-name:~$ cd /gcs
今回は gcsというフォルダにtest.txtをアップロードしたかったので、まずgcsというフォルダを作る。
なぜフォルダ名がgcsなのかは突っ込まないで
2
username@instance-name:/gcs$ sudo vi test.txt
sudoをつけてファイル作成。これをしないとどういうわけか保存できない
(自分はviコマンドで行ったが、別に中身は空でいいのでtouchでよかったかも)
3
username@instance-name:/gcs$ sudo chmod 777 test.txt
test.txtの権限を変更
4
コマンドプロンプトに戻ってさっきと同じやつを実行
C:\Users\user\AppData\Local\Google\Cloud SDK>gcloud compute scp C:\Users\user\Desktop\test.txt instance-1:/gcs
test.txt | 0 kB | 0.0 kB/s | ETA: 00:00:00 | 100%
自分はこれで成功しました。