Tente usar 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]
por exemplo,
$ gcloud compute scp \
my-instance-1:~/file-1 \
my-instance-2:~/file-2 \
~/my-destination \
--zone us-central2-a
Como alternativa, você também pode usar (não gcloud
) sftp
ou scp
; veja esta resposta do SO para obter detalhes sobre os argumentos da linha de comando que você precisa especificar, que citarei aqui por simplicidade:
sftp -o IdentityFile ~/.ssh/google_compute_engine user@host
Para usar qualquer outra ferramenta SFTP, forneça de maneira semelhante o caminho para a chave privada SSH e ele poderá se conectar à instância. No entanto, no caso de gcloud
, ele pode resolver o nome do host para o IP público; para todas as outras ferramentas, você precisará encontrar o IP manualmente e especificar o endereço IP diretamente.