Prova a utilizzare gcloud compute scp
:
gcloud compute scp
[[[email protected]]INSTANCE:]SRC [[[[email protected]]INSTANCE:]SRC …]
[[[email protected]]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]
ad esempio,
$ gcloud compute scp \
my-instance-1:~/file-1 \
my-instance-2:~/file-2 \
~/my-destination \
--zone us-central2-a
In alternativa, puoi anche utilizzare (non-gcloud
) sftp
o scp
; guarda questa risposta SO per i dettagli sugli argomenti della riga di comando che devi specificare, che citerò qui per semplicità:
sftp -o IdentityFile ~/.ssh/google_compute_engine [email protected]
Per utilizzare qualsiasi altro strumento SFTP, fornire allo stesso modo il percorso della chiave privata SSH e sarà in grado di connettersi all'istanza. Tuttavia, nel caso di gcloud
, può risolvere il nome host nell'IP pubblico stesso; per tutti gli altri strumenti, dovrai trovare l'IP manualmente e specificare direttamente l'indirizzo IP.
(gcloud compute copy-files
è ora deprecato, quindi gcloud compute scp
è consigliato)
Usa gcloud compute scp
come segue:
gcloud compute scp [[[email protected]]INSTANCE:]SRC [[[[email protected]]INSTANCE:]SRC …]
[[[email protected]]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 …]
Ad esempio:
$ gcloud compute scp example-instance:~/REMOTE-DIR ~/LOCAL-DIR \
--zone us-central1-a
Se la zona è già impostata (usando gcloud config set compute/zone ZONE
o tramite la variabile di ambiente, non è necessario specificare la zona sopra)
Inoltre, gcloud compute scp
non copia in modo ricorsivo per impostazione predefinita. Dobbiamo usare il --recurse
contrassegnalo.
Consulta la documentazione dettagliata qui.
Forse puoi usare SFTP (google ha usato Filezilla nei loro documenti). Non sono troppo bravo con la CLI e quindi mi piacciono le opzioni della GUI fornite da Filezilla e altri.
Ecco i passaggi ad alto livello:
- Installa ed esegui gcloud SDK (
$ gcloud init
) - Genera chiave SSH (
$ gcloud compute ssh
) - Imposta il client FTP (installa e aggiungi il file chiave)
- Connettiti alla VM utilizzando il client SFTP
Ed ecco la documentazione di Google.
Inoltre, ho registrato questo, potrebbe essere utile:
https://www.youtube.com/watch?v=9ssfE6ODpak