次のコマンドを使用して、インスタンスからローカルディレクトリにファイルをコピーしようとしています
gcloud compute scp <instance-name>:~/<file-name> ~/Documents/
ただし、次のようにエラーが表示されます
$ USER/Documents /:ディレクトリです
エラー:(gcloud.compute.scp)[/ usr/bin/scp]が戻りコード[1]で終了しました。
ローカルディレクトリからGCEへのコピーは正常に機能します。
スタンフォード大学のチュートリアルとGoogleのドキュメントも確認しました。
このような問題がない別のインスタンスが1つあります。
SSHキーに問題があると思われます。
何が間違っていたのでしょうか?
あなたが質問に投稿したコマンドは、Google Compute Engine VMからローカルマシンにファイルをコピーするときに機能します。
$ gcloud compute scp vm1:~/.bashrc ~/Documents/
.bashrc 100% 3515 3.4KB/s 00:00
また、他の側(つまり、ローカルマシンからGCE VMへ)からコピーを実行しようとしましたが、動作します:
$ gcloud compute scp ~/Documents/.bashrc vm1:~/temp/
.bashrc 100% 3515 3.4KB/s 00:00
$ gcloud compute scp ~/Documents/.bashrc vm1:~/.bashrc-new
.bashrc 100% 3515 3.4KB/s 00:00
gcloud
は、scp
にあるPATH
実行可能ファイルに依存しています。 gcloud scp
コマンドに指定した引数は、scp
バイナリに渡されます。ソースと宛先のパスが正しいと仮定すると、動作するはずです。
scp
を使用した再帰的コピーただし、特定のエラーメッセージに基づいて、コピーしようとしているソースパスがファイルではなくディレクトリである場合にのみ、バリエーションが表示されることがわかりました。その特定の場合、--recurse
引数(通常のscp
でサポートされる-r
引数に類似)を渡すことができます。これは、指定されたディレクトリの下のすべてのファイルとディレクトリを再帰的にコピーします。
gcloud compute scp --recurse SRC_PATH DEST_PATH
VMからデスクトップにファイルをコピーするには、VMにSSHで接続し、右上隅にsettingsボタンがあります。 、そこにはdownload fileオプションがあり、ファイルのパスを入力するだけです。
フォルダーの場合は、最初にフォルダーを圧縮してからダウンロードします。
ローカル端末ではなく、GCEに接続された端末でこれらのコマンドを実行しようとしていたことを除いて、すべてが完璧でした。
oyashi@oyashi-torch-instance:~$ gcloud compute scp oyashi-torch-instance:~/spring1617_assignment1.Zip ~/Documents/
/ home/oyashi/Documents /:ディレクトリエラーです:(gcloud.compute.scp)[/ usr/bin/scp] exited with return code [1]。
しかし、ローカル端末でこれを試したとき。これが起こりました。
oyashi@oyashi:~/Documents$ gcloud compute scp oyashi-torch-instance:~/spring1617_assignment1.Zip ~/Documents/
spring1617_assignment1.Zip 100%42KB 42.0KB/s 00:00
皆さんのコメントと助けに感謝します。私はその終わりから愚かな間違いを知っています。しかし、他の人が私の愚かさから学ぶことができるように、私はこの答えを投稿しました。