Essayez d'utiliser 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]
par exemple,
$ gcloud compute scp \
my-instance-1:~/file-1 \
my-instance-2:~/file-2 \
~/my-destination \
--zone us-central2-a
Comme alternative, vous pouvez également utiliser (non-gcloud
) sftp
ou scp
; voir cette réponse SO pour plus de détails sur les arguments de ligne de commande que vous devez spécifier, que je citerai ici pour plus de simplicité :
sftp -o IdentityFile ~/.ssh/google_compute_engine [email protected]
Pour utiliser n'importe quel autre outil SFTP, fournissez-lui de même le chemin vers la clé privée SSH et il pourra se connecter à l'instance. Cependant, dans le cas de gcloud
, il peut résoudre lui-même le nom d'hôte en adresse IP publique ; pour tous les autres outils, vous devrez trouver l'IP manuellement et spécifier l'adresse IP directement.
(gcloud compute copy-files
est obsolète maintenant, d'où gcloud compute scp
est recommandé)
Utilisez gcloud compute scp
comme suit :
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 …]
Par exemple :
$ gcloud compute scp example-instance:~/REMOTE-DIR ~/LOCAL-DIR \
--zone us-central1-a
Si la zone est déjà définie (en utilisant gcloud config set compute/zone ZONE
ou via la variable d'environnement, vous n'avez pas besoin de spécifier la zone ci-dessus)
Aussi, gcloud compute scp
ne copie pas récursivement par défaut. Nous devons utiliser le --recurse
signaler pour cela.
Voir la documentation détaillée ici.
Vous pouvez peut-être utiliser SFTP (google a utilisé Filezilla dans sa documentation). Je ne suis pas trop doué avec la CLI et j'aime donc les options de l'interface graphique que Filezilla et d'autres fournissent.
Voici les étapes de haut niveau :
- Installez et exécutez le SDK gcloud (
$ gcloud init
) - Générer la clé SSH (
$ gcloud compute ssh
) - Configurer le client FTP (installer et ajouter le fichier clé)
- Se connecter à la VM à l'aide du client SFTP
Et voici la documentation de Google.
De plus, j'ai enregistré ceci, cela pourrait être utile :
https://www.youtube.com/watch?v=9ssfE6ODpak