Google Cloud Shell への scp が失敗する (ssh は機能する)

Google Cloud Shell への scp が失敗する (ssh は機能する)

scp を使用して大きなファイルをクラウド シェルにコピーしようとしています。

この提案されたコマンドを使用するとだから答える

gcloud alpha cloud-shell scp \
  localhost:~/Sites/my-app/big_file cloudshell:~/big_file

しかし、サーバーのキーを追加しているのがわかるのですが、Permission denied (publickey).

私が行った場合

gcloud alpha cloud-shell ssh

サーバーに問題なくログインできる

答え1

Google の呼び出しでscp正しいユーザー名が省略されていたことが判明しました。

解決 アップロードに成功しました

/usr/bin/scp -P 6000 -i /Users/me/.ssh/google_compute_engine -o \
  StrictHostKeyChecking=no ~/Sites/my-app/bigfile \ 
  [email protected]:~/big_file

これをどう理解するか

--verbosity debug私は旗を使ってこれを発見することができた

# gcloud alpha cloud-shell scp --verbosity debug localhost:~/Sites/my-app/big_file cloudshell:~/big_file
    DEBUG: Running [gcloud.alpha.cloud-shell.scp] with arguments: [(cloudshell|localhost):DEST: "cloudshell:~/big_file", (cloudshell|localhost):SRC:1: "['localhost:~/Sites/my-app/big_file']", --verbosity: "debug"]
    DEBUG: Running command [/usr/bin/scp -P 6000
      -i /Users/chrisjensen/.ssh/google_compute_engine
      -o StrictHostKeyChecking=no
      ~/Sites/my-app/big_file 35.185.184.136:~/big_file].
[...more debug info...]

^ これは実行されたコマンドを示す行です

それから私はssh議論に違いがあるかどうか確かめるために走りました

gcloud alpha cloud-shell ssh --verbosity debug
DEBUG: Running [gcloud.alpha.cloud-shell.ssh] with arguments: [--verbosity: "debug"]
DEBUG: Running command [/usr/bin/ssh -t -p 6000
  -i /Users/chrisjensen/.ssh/google_compute_engine
  -o StrictHostKeyChecking=no [email protected]].
[...more debug info...]

^ ユーザー名がサーバーの IP の先頭に追加されることに注意してください。

そこで、scp コマンドをコピーしてユーザー名を追加したところ、うまくいきました。

これが、この問題を理解しようとしている他の人たちの助けになることを願っています。

答え2

これは、 を実行して入手できる最新バージョンの gcloud で修正されるはずですgcloud components update。アルファ版をお試しいただきありがとうございます。

関連情報