Transférer des fichiers vers des VM Linux


Pour transférer des fichiers vers des instances Compute Engine, différentes options sont disponibles en fonction du système d'exploitation de votre poste de travail et du système d'exploitation de l'instance de VM cible.

Transfert à partir de Vers les VM Linux
Linux ou macOS
Windows

Transférer des fichiers via Cloud Storage

Les buckets Cloud Storage peuvent être utilisés comme point de transfert entre vos VM et vous. Vous pouvez utiliser un navigateur Web, Google Cloud CLI ou un langage de programmation pour transférer des fichiers entre les VM Cloud Storage et Compute Engine.

Différents types d'identifiants peuvent être utilisés pour l'étape d'importation et de téléchargement afin de répondre au mieux à vos besoins :

Pour utiliser Cloud Storage afin de transférer des fichiers entre un ordinateur et une VM, procédez comme suit :

  1. Créez un bucket Cloud Storage si vous n'avez pas de bucket existant à utiliser pour les transferts de fichiers.
  2. Utilisez les autorisations IAM pour modifier l'accès au bucket :
    • Le rôle Administrateur des objets de l'espace de stockage doit être accordé aux comptes qui importent le ou les fichiers dans le bucket.
    • Le rôle Lecteur des objets de l'espace de stockage doit être accordé aux comptes qui téléchargent le ou les fichiers.
  3. Connectez-vous à l'appareil source et importez les fichiers dans le bucket.
  4. Connectez-vous à l'appareil de destination et téléchargez les fichiers à partir du bucket pour terminer le transfert de fichiers.
  5. Facultatif : Supprimez les fichiers dont vous n'avez plus besoin pour éviter des frais de stockage indésirables.

Si vous devez transférer des fichiers dans l'autre sens, vous pouvez inverser le processus. Assurez-vous que le compte qui importe le fichier dispose d'un accès en écriture au bucket.

Transférer des fichiers à l'aide de SSH-in-browser

Si vous êtes en mesure d'établir une connexion SSH à une VM à l'aide de SSH-in-browser, vous pouvez utiliser cette connexion pour transférer des fichiers vers et depuis la VM.

Importer sur la VM

  1. Dans la console Google Cloud, accédez à la page Instances de VM.

    Accéder à la page Instances de VM

  2. Dans la liste des instances de machine virtuelle, cliquez sur SSH sur la ligne de l'instance à laquelle vous souhaitez vous connecter.

    bouton SSH en regard du nom de l'instance.

  3. Une fois la connexion établie, cliquez sur l'icône d'importation .

    Bouton Importer

    La boîte de dialogue d'importation s'affiche.

  4. Sélectionnez un ou plusieurs fichiers à importer.
  5. Importez les fichiers en cliquant sur Importer des fichiers. Le fichier est importé dans le répertoire /home/USER.

Télécharger à partir de la VM

  1. Dans la console Google Cloud, accédez à la page Instances de VM.

    Accéder à la page Instances de VM

  2. Dans la liste des instances de machine virtuelle, cliquez sur SSH sur la ligne de l'instance à laquelle vous souhaitez vous connecter.

    bouton SSH en regard du nom de l'instance.

  3. Une fois la connexion établie, cliquez sur l'icône de téléchargement .

    Bouton Télécharger

    La boîte de dialogue de téléchargement s'ouvre.

  4. Dans la zone de texte Chemin d'accès, saisissez le chemin d'accès du fichier à télécharger.
  5. Téléchargez le fichier en cliquant sur Télécharger. Le fichier est téléchargé dans le dossier de téléchargement par défaut de votre poste de travail.

Transférer des fichiers à l'aide de Google Cloud CLI

Google Cloud CLI fournit un utilitaire de transfert de fichiers SCP (Secure Copy Protocol) via une connexion SSH établie.

Pour transférer des fichiers via SCP, procédez comme suit :

  1. Examinez vos règles de pare-feu et vérifiez que les connexions SSH sur le port 22 sont autorisées. Sinon, créez une règle de pare-feu SSH.
  2. Vérifiez que gcloud CLI est installé sur l'appareil source contenant les fichiers à transférer.
  3. Utilisez la commande gcloud compute scp pour transférer les fichiers sur la machine de destination.

L'exemple suivant copie un fichier présent sur votre poste de travail vers le répertoire d'accueil de la VM :

gcloud compute scp LOCAL_FILE_PATH VM_NAME:REMOTE_DIR

Remplacez les éléments suivants :

  • LOCAL_FILE_PATH : chemin d'accès au fichier sur votre machine
  • VM_NAME : nom de votre VM
  • REMOTE_DIR : répertoire de la machine distante

Vous pouvez également copier des fichiers et des répertoires en sens inverse à partir de la machine distante. L'exemple suivant copie récursivement un répertoire depuis la source vers la destination :

gcloud compute scp --recurse VM_NAME:REMOTE_DIR LOCAL_FILE_PATH

Pour plus d'informations, consultez la documentation de référence gcloud compute scp.

Transférer des fichiers à l'aide de SCP sur des postes de travail Linux et macOS

L'outil de ligne de commande scp fonctionne de la même manière que gcloud compute scp, mais vous devez gérer manuellement vos clés SSH.

Pour transférer des fichiers via SCP, vous devez disposer d'une règle de pare-feu sur le réseau que votre VM utilise et qui autorise les connexions SSH sur le port 22. Vous pouvez vérifier que ces règles de pare-feu existent en recherchant une règle de pare-feu qui autorise les connexions tcp:22 dans la console Google Cloud.

Accéder aux règles de pare-feu

Si vous ne disposez pas d'une règle de pare-feu autorisant les connexions SSH sur le port 22, créez la règle de pare-feu.

L'outil scp utilise les mêmes fichiers de clés que ceux que vous utilisez pour vous connecter à vos instances à l'aide du client SSH standard.

  1. Si vous n'avez pas encore appliqué de clé publique à votre projet dans la console Google Cloud ou à votre instance de VM, créez une paire de clés SSH et ajoutez la clé publique aux métadonnées de projet ou d'instance.

  2. Recherchez l'adresse IP externe de la VM à laquelle vous souhaitez envoyer des fichiers. Dans la console Google Cloud, accédez à la page Instances de VM.

    Accéder à la page Instances de VM

  3. Utilisez l'outil scp pour copier un fichier présent sur votre poste de travail vers le répertoire d'accueil de la VM cible. Dans cet exemple, la clé privée est située à l'adresse ~/.ssh/my-ssh-key.

    scp -i ~/.ssh/my-ssh-key LOCAL_FILE_PATH USERNAME@IP_ADDRESS:~
    

    Remplacez les éléments suivants :

    • LOCAL_FILE_PATH : nom du fichier local que vous souhaitez importer
    • USERNAME : votre nom d'utilisateur
    • IP-ADDRESS : adresse IP externe de votre VM

Vous pouvez également copier des fichiers d'une VM vers votre poste de travail local en inversant les variables source et de destination. Pour cet exemple, copiez un fichier présent sur votre VM vers un chemin d'accès de votre poste de travail.

scp -i ~/.ssh/my-ssh-key USERNAME@IP_ADDRESS:REMOTE_FILE_PATH LOCAL_FILE_PATH

Remplacez les éléments suivants :

  • USERNAME : votre nom d'utilisateur
  • IP_ADDRESS : adresse IP externe de votre VM
  • REMOTE_FILE_PATH : nom du fichier distant que vous souhaitez télécharger
  • LOCAL_FILE_PATH : emplacement sur le poste de travail où vous souhaitez télécharger le fichier

Transférer des fichiers à l'aide de WinSCP sur des postes de travail Windows

Sur les postes de travail Windows, le client WinSCP vous permet de gérer les fichiers de vos instances via une interface graphique d'explorateur de fichiers.

WinSCP utilise les mêmes fichiers de clés que ceux que vous utilisez pour vous connecter aux VM à l'aide de PuTTY.

  1. Procédez comme suit si vous n'avez pas configuré l'authentification SSH basée sur des clés pour votre instance :

    1. Créez une paire de clés SSH à l'aide de PuTTYgen. La clé SSH privée doit utiliser le format .ppk, qui est la valeur par défaut pour les clés créées par PuTTYgen.

    2. Ajoutez votre clé SSH publique aux métadonnées de votre projet ou à celles de votre VM. Pour en savoir plus, consultez les pages Ajouter des clés SSH aux métadonnées de projet ou Ajouter des clés SSH aux métadonnées d'instance.

  2. Recherchez l'adresse IP externe de la VM à laquelle vous souhaitez envoyer des fichiers.

    1. Dans Google Cloud Console, accédez à la page Instances de VM.

      Accéder à la page Instances de VM

    2. Dans la liste des VM, recherchez l'adresse IP externe dans la colonne Adresse IP externe de votre VM.
  3. Téléchargez et installez WinSCP. Les paramètres d'installation par défaut fonctionnent pour la plupart des utilisateurs.

  4. Démarrez le programme WinSCP. Une fenêtre dans laquelle vous pouvez configurer vos paramètres de connexion s'ouvre.

  5. Dans WinSCP, configurez vos paramètres de connexion.

    1. Dans le champ File protocol (Protocole de fichier), sélectionnez SCP comme protocole de transfert de fichiers.

    2. Dans le champ Host name (Nom d'hôte), spécifiez l'adresse IP externe de la VM à laquelle vous souhaitez vous connecter.

    3. Dans le champ User name (Nom d'utilisateur), spécifiez le nom d'utilisateur Google que vous utilisez pour accéder à votre projet. Dans cet exemple, l'utilisateur est example-user.

      Définir le protocole de fichier sur "SCP", le nom d'hôte sur "104.196.31.103" et le nom d'utilisateur sur "example-user".

  6. Cliquez sur la liste déroulante Advanced (Avancé) pour ouvrir les paramètres avancés, puis accédez à SSH > Authentication (Authentification).

  7. Dans la zone Private key file (Fichier de clé privée), spécifiez le chemin d'accès au fichier de clé privée de la paire de clés SSH que vous avez créée pour la VM.

    Définissez le fichier de clé privée sur "my-ssh-key.ppk" dans la boîte de dialogue des paramètres de site avancés.

  8. Cliquez sur OK pour enregistrer les paramètres avancés.

  9. Cliquez sur Connexion pour vous connecter à votre VM. Si la connexion est établie, la fenêtre ouvre votre système de fichiers local à gauche et le système de fichiers de la VM à droite. Vous pouvez accéder à différents répertoires dans ces systèmes de fichiers et faire glisser les fichiers pour les transférer vers ou depuis votre VM.

  10. Vous n'êtes probablement pas autorisé à gérer la plupart des fichiers situés en dehors du répertoire d'accueil de la VM. Accédez au répertoire d'accueil de la VM :

    /home/USERNAME
    
  11. Utilisez l'interface WinSCP pour déplacer des fichiers entre votre poste de travail et la VM.

  12. Une fois que vous avez copié vos fichiers sur la VM, connectez-vous à votre instance pour pouvoir exécuter ou déplacer des fichiers avec des autorisations sudo complètes.

Étapes suivantes