scp в Google cloud-shell не работает (ssh работает)

Я пытаюсь использовать scp для копирования большого файла в облачную оболочку.

Используя предложенную команду из этого SO ответа

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

Но даже при том, что я вижу добавление ключа для сервера, он не работает с Permission denied (publickey).

Если я сделаю

gcloud alpha cloud-shell ssh

он входит в систему на сервере просто отлично

2 ответа

Оказывается, вызов Google scp было пропущено правильное имя пользователя.

Решение, которое я успешно загрузил, выполнив

/usr/bin/scp -P 6000 -i /Users/me/.ssh/google_compute_engine -o \
  StrictHostKeyChecking=no ~/Sites/my-app/bigfile \ 
  cj@35.185.184.136:~/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 cj@127.0.0.1].
[...more debug info...]

^ Обратите внимание, что он добавляется по имени пользователя на сервер IP.

Затем я скопировал команду scp и добавил свое имя пользователя, и это сработало.

Надеюсь, что это помогает другим, пытающимся понять это.

Это должно быть исправлено в последней версии gcloud, которую вы можете получить с помощью runnign gcloud components update, Спасибо за попытку альфа!

Другие вопросы по тегам