GNU/Linux >> Tutoriels Linux >  >> Linux

Comment puis-je copier des fichiers d'un serveur Google Cloud Compute sur ma machine locale ?

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 :

  1. Installez et exécutez le SDK gcloud ($ gcloud init )
  2. Générer la clé SSH ($ gcloud compute ssh )
  3. Configurer le client FTP (installer et ajouter le fichier clé)
  4. 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


Linux
  1. Comment copier le dossier entier de l'instance Amazon EC2 Linux vers la machine Linux locale ?

  2. Comment copier un fichier d'une machine Vagrant vers localhost

  3. Comment puis-je récupérer/récupérer des fichiers d'une partition ext4 ?

  4. Comment utiliser rsync depuis un PC Windows vers un serveur Linux distant ?

  5. Comment télécharger plusieurs fichiers sur FTP à partir d'un serveur Linux ?

Comment créer une machine virtuelle (VM) sur Google Cloud Platform (GCP)

Apprenez à copier des fichiers et des dossiers depuis/vers un autre serveur

Comment restaurer un serveur cloud

Comment utiliser Rsync pour copier/synchroniser des fichiers entre des serveurs

Puis-je me connecter à une machine Windows à partir du shell Linux ?

Comment récupérer plusieurs fichiers d'une machine distante à une machine locale avec Ansible