Попробуйте использовать gcloud compute scp
:
gcloud compute scp
[[USER@]INSTANCE:]SRC [[[USER@]INSTANCE:]SRC …]
[[USER@]INSTANCE:]DEST
[--compress] [--dry-run] [--force-key-file-overwrite]
[--plain] [--port=PORT] [--recurse] [--scp-flag=SCP_FLAG]
[--ssh-key-file=SSH_KEY_FILE]
[--strict-host-key-checking=STRICT_HOST_KEY_CHECKING]
[--zone=ZONE]
[GCLOUD_WIDE_FLAG …]
[-h]
например,
$ gcloud compute scp \
my-instance-1:~/file-1 \
my-instance-2:~/file-2 \
~/my-destination \
--zone us-central2-a
В качестве альтернативы, вы можете также использовать (не gcloud
sftp
или scp
см. этот SO-ответ для подробностей об аргументах командной строки, которые вам нужно указать, которые я приведу здесь для простоты:
sftp -o IdentityFile ~/.ssh/google_compute_engine user@host
Чтобы использовать любой другой инструмент SFTP, аналогично укажите ему путь к закрытому ключу SSH, и он сможет подключиться к экземпляру. Однако в случае с gcloud
он может разрешить имя хоста в публичный IP-адрес; для всех остальных инструментов вам нужно будет найти IP-адрес вручную и указать IP-адрес напрямую.