Comment utiliser des clés SSH avec Windows sur AzureHow to use SSH keys with Windows on Azure

Cet article est destiné aux utilisateurs Windows qui souhaitent créer et utiliser des clés Secure Shell (SSH) pour se connecter à des machines virtuelles Linux dans Azure.This article is for Windows users who want to create and use secure shell (SSH) keys to connect to Linux virtual machines (VMs) in Azure. Vous pouvez également générer et stocker des clés SSH dans le Portail Azure à utiliser lors de la création de machines virtuelles dans le portail.You can also generate and store SSH keys in the Azure portal to use when creating VMs in the portal.

Pour utiliser des clés SSH à partir d’un client Linux ou macOS, consultez le guide rapide.To use SSH keys from a Linux or macOS client, see the quick. Pour obtenir une vue d’ensemble plus détaillée de SSH, consultez Procédure détaillée : Créer et gérer des clés SSH pour l’authentification sur une machine virtuelle Linux dans Azure.For a more detailed overview of SSH, see Detailed steps: Create and manage SSH keys for authentication to a Linux VM in Azure.

Vue d’ensemble de SSH et des clésOverview of SSH and keys

SSH est un protocole de connexion chiffré qui permet d’ouvrir des sessions sécurisées via des connexions non sécurisées.SSH is an encrypted connection protocol that allows secure sign-ins over unsecured connections. SSH est le protocole de connexion par défaut pour les machines virtuelles Linux hébergées dans Azure.SSH is the default connection protocol for Linux VMs hosted in Azure. Bien que le protocole SSH lui-même offre une connexion chiffrée, l’utilisation de mots de passe avec SSH laisse néanmoins la machine virtuelle vulnérable aux attaques en force brute.Although SSH itself provides an encrypted connection, using passwords with SSH still leaves the VM vulnerable to brute-force attacks. Nous vous recommandons de vous connecter à une machine virtuelle via SSH à l’aide d’une paire de clés publique/privée, également appelées clés SSH.We recommend connecting to a VM over SSH using a public-private key pair, also known as SSH keys.

La paire de clés publique-privée est semblable au verrou sur votre porte d’entrée.The public-private key pair is like the lock on your front door. Le verrou est exposé au public, toute personne disposant de la bonne clé peut ouvrir la porte.The lock is exposed to the public, anyone with the right key can open the door. La clé est privée et fournie uniquement aux personnes auxquelles vous faites confiance, car elle peut être utilisée pour déverrouiller la porte.The key is private, and only given to people you trust because it can be used to unlock the door.

  • La clé publique est placée sur votre machine virtuelle Linux lorsque vous créez la machine virtuelle.The public key is placed on your Linux VM when you create the VM.

  • La clé privée reste sur votre système local.The private key remains on your local system. Protégez cette clé privée.Protect this private key. Ne la partagez pas.Do not share it.

Lorsque vous vous connectez à votre machine virtuelle Linux, la machine virtuelle teste le client SSH pour s’assurer qu’il dispose de la clé privée appropriée.When you connect to your Linux VM, the VM tests the SSH client to make sure it has the correct private key. Si le client a la clé privée, il est autorisé à accéder à la machine virtuelle.If the client has the private key, it's granted access to the VM.

Selon les stratégies de sécurité de votre organisation, vous pouvez réutiliser une paire de clés unique pour accéder à plusieurs services et machines virtuelles Azure.Depending on your organization's security policies, you can reuse a single key pair to access multiple Azure VMs and services. Vous n’avez pas besoin d’une paire de clés distincte pour chaque machine virtuelle.You do not need a separate pair of keys for each VM.

Votre clé publique peut être partagée avec n’importe qui, mais vous seul (ou votre infrastructure de sécurité locale) devez avoir accès à votre clé privée.Your public key can be shared with anyone, but only you (or your local security infrastructure) should have access to your private key.

Formats de clé SSH pris en chargeSupported SSH key formats

Azure prend en charge les paires de clés publiques-privées RSA du protocole SSH-2 ayant une longueur minimale de 2 048 bits.Azure currently supports SSH protocol 2 (SSH-2) RSA public-private key pairs with a minimum length of 2048 bits. Les autres formats clés tels que ED25519 et ECDSA ne sont pas pris en charge.Other key formats such as ED25519 and ECDSA are not supported.

Clients SSHSSH clients

Les versions récentes de Windows 10 incluent des commandes client OpenSSH permettant de créer et d’utiliser des clés SSH, ainsi que d’établir des connexions SSH à partir de PowerShell ou d’une invite de commandes.Recent versions of Windows 10 include OpenSSH client commands to create and use SSH keys and make SSH connections from PowerShell or a command prompt. Il s’agit du moyen le plus simple de créer une connexion SSH à votre machine virtuelle Linux à partir d’un ordinateur Windows.This is the easiest way to create an SSH connection to your Linux VM, from a Windows computer.

Vous pouvez également utiliser Bash dans Azure Cloud Shell pour vous connecter à votre machine virtuelle.You can also use Bash in the Azure Cloud Shell to connect to your VM. Vous pouvez utiliser Cloud Shell dans un navigateur Web, à partir du Portail Azure ou en tant que terminal dans Visual Studio Code à l’aide de l’extension de compte Azure.You can use Cloud Shell in a web browser, from the Azure portal, or as a terminal in Visual Studio Code using the Azure Account extension.

Vous pouvez également installer le sous-système Windows pour Linux pour vous connecter à votre machine virtuelle via SSH et utiliser d’autres outils Linux natifs dans un interpréteur de commandes Bash.You can also install the Windows Subsystem for Linux to connect to your VM over SSH and use other native Linux tools within a Bash shell.

Création d’une paire de clés SSHCreate an SSH key pair

Créez une paire de clés SSH à l’aide de la commande ssh-keygen.Create an SSH key pair using the ssh-keygen command. Entrez un nom de fichier ou utilisez la valeur par défaut indiquée entre parenthèses (par exemple C:\Users\username/.ssh/id_rsa).Enter a filename, or use the default shown in parenthesis (for example C:\Users\username/.ssh/id_rsa). Entrez une phrase secrète pour le fichier ou laissez la phrase secrète vide si vous ne souhaitez pas utiliser de phrase secrète.Enter a passphrase for the file, or leave the passphrase blank if you do not want to use a passphrase.

ssh-keygen -m PEM -t rsa -b 4096

Créer une machine virtuelle à l’aide de votre cléCreate a VM using your key

Pour créer une machine virtuelle Linux qui utilise des clés SSH pour l’authentification, fournissez votre clé publique SSH lors de la création de la machine virtuelle.To create a Linux VM that uses SSH keys for authentication, provide your SSH public key when creating the VM.

À l’aide de l’interface de ligne de commande Azure, vous spécifiez le chemin d’accès et le nom de fichier de la clé publique à l’aide de az vm create et du paramètre --ssh-key-value.Using the Azure CLI, you specify the path and filename for the public key using az vm create and the --ssh-key-value parameter.

az vm create \
   --resource-group myResourceGroup \
   --name myVM \
   --image UbuntuLTS\
   --admin-username azureuser \
   --ssh-key-value ~/.ssh/id_rsa.pub

Avec PowerShell, utilisez New-AzVM et ajoutez la clé SSH à la configuration de la machine virtuelle à l’aide de `.With PowerShell, use New-AzVM and add the SSH key to the VM configuration using`. Pour obtenir un exemple, consultez Démarrage rapide : Créer une machine virtuelle Linux dans Azure avec PowerShell.For an example, see Quickstart: Create a Linux virtual machine in Azure with PowerShell.

Si vous effectuez un grand nombre de déploiements à l’aide du portail, vous souhaiterez peut-être charger votre clé publique dans Azure, où elle peut être facilement sélectionnée lors de la création d’une machine virtuelle à partir du portail.If you do a lot of deployments using the portal, you might want to upload your public key to Azure, where it can be easily selected when creating a VM from the portal. Pour plus d’informations, consultez Charger une clé SSH.For more information, see Upload an SSH key.

Connexion à votre machine virtuelleConnect to your VM

Une fois la clé publique déployée sur votre machine virtuelle Azure et la clé privée sur votre système local, établissez une connexion SSH sur votre machine virtuelle à l’aide de l’adresse IP ou du nom DNS de votre machine virtuelle.With the public key deployed on your Azure VM, and the private key on your local system, SSH to your VM using the IP address or DNS name of your VM. Remplacez azureuser et 10.111.12.123 dans la commande suivante par le nom d’utilisateur de l’administrateur, l’adresse IP (ou le nom de domaine complet) et le chemin d’accès à votre clé privée :Replace azureuser and 10.111.12.123 in the following command with the administrator user name, the IP address (or fully qualified domain name), and the path to your private key:

ssh -i ~/.ssh/id_rsa.pub azureuser@10.111.12.123

Si vous avez configuré une phrase secrète quand vous avez créé votre paire de clés, entrez-la quand vous y êtes invité.If you configured a passphrase when you created your key pair, enter the passphrase when prompted.

Si la machine virtuelle utilise la stratégie juste-à-temps, vous devez demander à y accéder avant de pouvoir vous connecter à cette machine virtuelle.If the VM is using the just-in-time access policy, you need to request access before you can connect to the VM. Pour plus d’informations sur la stratégie juste-à-temps, consultez Gérer l’accès à la machine virtuelle à l’aide de la stratégie juste-à-temps.For more information about the just-in-time policy, see Manage virtual machine access using the just in time policy.

Étapes suivantesNext steps