Utiliser SCP pour déplacer des fichiers vers et depuis une machine virtuelle
S’applique à : ✔️ Machines virtuelles Linux ✔️ Machines virtuelles Windows ✔️ Groupes identiques flexibles
Cet article explique comment déplacer des fichiers à partir de votre poste de travail vers une machine virtuelle Azure ou à partir d’une machine virtuelle Azure vers votre poste de travail, à l’aide de la copie sécurisée (SCP). Le déplacement de fichiers entre votre poste de travail et une machine virtuelle, de manière rapide et sécurisée, constitue une partie essentielle de la gestion de votre infrastructure Azure.
Pour cet article, vous avez besoin d’une machine virtuelle déployée dans Azure avec SSH activé. Vous avez également besoin d’un client SCP pour votre ordinateur local. Il est construit au-dessus de SSH et est inclus dans le shell par défaut de la plupart des installations Linux et Windows (10 et plus récentes).
Commandes rapides
Charger un fichier sur la machine virtuelle
scp file azureuser@azurehost:directory/targetfile
Télécharger un fichier à partir de la machine virtuelle
scp azureuser@azurehost:directory/file targetfile
Procédure pas à pas
Par exemple, nous déplaçons un fichier de configuration Azure vers une machine virtuelle et nous extrayons un répertoire de fichiers journaux, tous les deux avec SCP.
Authentification avec une paire de clés SSH
SCP utilise SSH pour la couche de transport. SSH gère l’authentification sur l’hôte de destination, puis déplace le fichier dans un tunnel chiffré fourni par défaut avec SSH. Pour l’authentification SSH, des noms d’utilisateur et des mots de passe peuvent être utilisés. Toutefois, l’authentification par clé publique et privée SSH est recommandée en tant que meilleure pratique de sécurité. Une fois que SSH a authentifié la connexion, SCP commence à copier le fichier. Lorsque vous utilisez une ~/.ssh/config
correctement configurée et de clés publiques et privées SSH, la connexion SCP peut être établie simplement à l’aide d’un nom de serveur (ou d’une adresse IP). Si vous n’avez qu’une seule clé SSH, SCP la recherche dans le répertoire ~/.ssh/
et l’utilise par défaut pour se connecter à la machine virtuelle.
Pour plus d’informations sur la configuration de votre ~/.ssh/config
et les clés publiques et privées SSH, consultez Créer des clés SSH.
Charger un fichier sur une machine virtuelle
Pour le premier exemple, nous copions un fichier de configuration Azure vers une machine virtuelle qui est utilisée pour déployer l’automatisation. Étant donné que ce fichier contient des informations d’identification d’API Azure, notamment des secrets, sa sécurité est importante. Le tunnel chiffré fourni par SSH protège le contenu du fichier.
La commande suivante copie le fichier local .azure/config vers une machine virtuelle Azure avec le nom de domaine complet myserver.eastus.cloudapp.azure.com. Si vous n’avez pas défini de nom de domaine complet, vous pouvez également utiliser l’adresse IP de la machine virtuelle. Le nom d’utilisateur administrateur sur la machine virtuelle Azure est azureuser. Le fichier est ciblé dans le répertoire /home/azureuser/. Substituez vos propres valeurs dans cette commande.
scp ~/.azure/config azureuser@myserver.eastus.cloudapp.com:/home/azureuser/config
Télécharger un répertoire à partir d’une machine virtuelle
Pour cet exemple, nous copions un répertoire de fichiers journaux à partir de la machine virtuelle sur votre poste de travail. Un fichier journal est susceptible de contenir des données sensibles ou secrètes. Toutefois, l’utilisation de SCP garantit que le contenu des fichiers journaux est chiffré. Un répertoire de journaux peut contenir trop de fichiers pertinents pour les copier un à la fois. Il est donc préférable de télécharger l’ensemble du répertoire dans ce cas. L’utilisation de SCP pour transférer les fichiers constitue le moyen le plus simple de copier le répertoire et les fichiers journaux sur votre poste de travail tout en assurant leur sécurité.
La commande suivante copie les fichiers contenus dans le répertoire /home/azureuser/logs/ sur la machine virtuelle Azure dans le répertoire/tmp local :
scp -r azureuser@myserver.eastus.cloudapp.com:/home/azureuser/logs/. /tmp/
L’indicateur -r
indique à SCP de copier de manière récursive les fichiers et les répertoires à partir du point du répertoire indiqué dans la commande. Notez également que la syntaxe de ligne de commande est similaire à une commande de copie cp
.