title | excerpt | updated |
---|---|---|
Comment créer et utiliser des clés d'authentification pour les connexions SSH aux instances Public Cloud |
Découvrez comment créer des paires de clés pour OpenSSH sur votre périphérique local et les utiliser pour établir des connexions sécurisées à votre instance |
2024-12-09 |
Le protocole SSH permet un canal de communication sécurisé sur les réseaux publics dans une architecture client-serveur. Des paires de clés peuvent être utilisées pour authentifier ces connexions SSH entre deux hôtes approuvés, par exemple un ordinateur de bureau et un serveur distant.
Un jeu de clés se compose d'une clé publique qui peut être partagée et d'une clé privée qui reste secrète. Placée sur un serveur, la clé publique permet à tout client disposant de la clé privée correspondante de s'y connecter sans avoir à entrer de mot de passe.
Cette méthode est généralement le meilleur compromis entre la sécurité et la commodité et la valeur par défaut pour les instances Public Cloud.
Ce guide explique comment créer et gérer des paires de clés d'authentification sur votre périphérique local et les utiliser pour se connecter à des instances Public Cloud.
- Un projet Public Cloud dans votre compte OVHcloud
- Une application de connexion à distance compatible avec le protocole OpenSSH
[!primary] Ce guide ne s'applique pas aux connexions aux systèmes d'exploitation Windows Server standard, car ils s'appuient par défaut sur le
Remote Desktop Protocol
(RDP).Retrouvez plus d’informations dans notre guide sur la création d’une instance Public Cloud.
Les instructions suivantes expliquent comment créer et gérer des paires de clés pour les connexions à distance avec OpenSSH à partir de la ligne de commande. La plupart des systèmes d'exploitation actuels incluent cette fonctionnalité sans avoir besoin d'installer un logiciel supplémentaire.
Si vous préférez une interface utilisateur graphique, vous pouvez trouver de nombreuses applications logicielles pour chaque type de système d'exploitation qui vous permettent de vous connecter à des hôtes distants via le protocole OpenSSH.
Par exemple, PuTTY est un logiciel client SSH open source doté de nombreuses fonctionnalités utiles. Découvrez comment l’utiliser pour les connexions aux serveurs et instances OVHcloud dans notre tutoriel détaillé :
[!primary]
Si vous recevez des messages d'erreur lors d'une tentative de connexion, vérifiez que vous utilisez les paramètres et les informations de connexion corrects et que votre système et les applications installées sont correctement mis à jour. Si vous recevez un message d’avertissement du type
REMOTE HOST IDENTIFICATION HAS CHANGED
, consultez notre guide d’introduction au SSH.
/// details | Dépliez cette section
Ouvrez l'application en ligne de commande (Terminal
) sur votre périphérique local.
Vérifiez que vous avez un dossier nommé .ssh
dans votre répertoire $HOME
. Si le dossier n'existe pas, créez-le :
mkdir ~/.ssh
Utilisez la commande ssh-keygen
pour créer une paire de clés. L'option -t
vous permet de spécifier la méthode de cryptage.
[!primary]
Ed25519
est considéré comme le plus sûr maisRSA
est une alternative valable. Les deux méthodes sont compatibles avec l'espace client OVHcloud.
Exemples :
ssh-keygen -t ed25519 -a 100
ssh-keygen -t rsa -b 4096 -a 100
L'invite de commande suivante permet de nommer la clé nouvellement créée ou d'utiliser le nom de fichier standard :
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Si vous confirmez avec le bouton Entrée
{.action} sans saisir de nom, le nom de fichier standard sera utilisé (id_rsa
dans cet exemple).
Si vous prévoyez d'utiliser plusieurs paires de clés à l'avenir, entrez un nom de fichier individuel pour identifier la clé. Vous trouverez plus d'informations à ce sujet ci-dessous dans la section Gestion de plusieurs clés d'authentification sur votre périphérique local.
Les exemples de sorties ci-dessous continueront à utiliser les noms de fichiers id_rsa
et id_rsa.pub
à des fins d'illustration.
Vous pouvez protéger votre clé SSH avec une phrase secrète à l'invite suivante. Ceci est recommandé pour plus de sécurité.
Warning
L'accès distant à votre instance est aussi sécurisé que le périphérique client stockant la clé privée. Il est donc crucial de protéger votre appareil et les fichiers clés qu’il contient contre tout accès non autorisé.
Pour plus de commodité et de sécurité, stockez les phrases secrètes dans un gestionnaire de mots de passe sur votre poste de travail, comme la solution open source KeePass.
Toutes les clés SSH sont stockées dans le répertoire .ssh
par défaut. Les fichiers de clé publique auront .pub
ajouté au nom de fichier.
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:MRk+Y0zCOoOkferhkTvMpcMsYspj212lK7sEauNap user@hostname
The key's randomart image is:
+---[RSA 4096]----+
| .. o |
| . .= o |
| o o X |
|. . . . |
|. .=.o .S. |
| =o.o. . . |
|o + . . o .. |
|.. . . oEoo . |
|o. .o+oo |
+----[SHA256]-----+
Afin d'afficher et d'exporter votre clé publique, utilisez la commande cat
sur votre fichier de clé .pub
ou ouvrez-le avec un éditeur de texte.
cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8teh2NJ42qYZV98gTNhumO1b6rMYIkAfRVazl
k6dSS3xf2MXJ4YHsDacdjtJ+evXCFBy/IWgdkFtcvsGAMZ2N1RdvhDyQYcy6NDaJCBYw1K6Gv5fJ
SHCiFXvMF0MRRUSMneYlidxUJg9eDvdygny4xOdC6c1JrPrSgOc2nQuKeMpOoOWLINIswg1IIFVk
kFMPrFivP8Z6tidzVpAtbr1sXmJGZazYWrU3FoK2a1sF1zEWrmlMOzX81zEWrmlMOzX8CpZW8Rae
i4ANmLy7NULWK36yU0Rp9bFJ4o0/4PTkZiDCsK0QyHhAJXdLN7ZHpfJtHIPCnexmwIMLfIhCWhO5
user@hostname
Copiez cette chaîne de clé pour l'ajouter à une nouvelle instance ou l'importer dans votre espace client.
[!primary]
Dans un terminal macOS, vous pouvez utiliser les commandes
pbcopy
etpbpaste
pour gérer des chaînes de clés plus rapidement. Par exemple, utilisez cette commande pour copier la clé du fichierid_rsa.pub
dans le presse-papiers :
pbcopy < ~/.ssh/id_rsa.pub
Vous pouvez utiliser plusieurs paires de clés SSH pour vous connecter à différents hôtes distants ou périphériques de réseau local.
Comme tous les fichiers clés doivent être placés dans le dossier .ssh
du répertoire home
de votre utilisateur, les noms de fichiers doivent être différents. Lorsque vous créez une nouvelle paire de clés et qu'un nom de fichier vous est demandé, entrez un nom de votre choix, par exemple le nom de votre instance.
Exemple de sortie :
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa): KeyFileName_rsa
Your identification has been saved in /home/user/.ssh/KeyFileName_rsa.
Your public key has been saved in /home/user/.ssh/KeyFileName_rsa.pub.
Lors de la connexion à l'instance correspondante, spécifiez le nom du fichier de clé privée en plus des détails de l'utilisateur et du serveur de connexion :
ssh -i ~/.ssh/KeyFileName user@IP_ADDRESS
Exemple :
ssh -i ~/.ssh/myInstance_rsa [email protected]
L'alternative à l'ajout de l'option -i
à chaque fois est d'éditer un fichier nommé config
à l'intérieur du dossier ~/.ssh
. Il permet de configurer les détails des différentes connexions (nom d'utilisateur, port, fichier de clé, paramètres optionnels, etc.)
Si ce fichier existe à l'intérieur de .ssh
, il contient probablement déjà des informations. En fonction de votre environnement de travail, envisagez de créer d'abord une copie de sauvegarde de l'original.
Exemple de sortie d'affichage du contenu du dossier .ssh
:
ls ~/.ssh/
config id_rsa id_rsa.pub known_hosts known_hosts.old
Le fichier config
permet de stocker plusieurs connexions SSH ainsi que leurs paramètres individuels, en plus des valeurs standard. L’exploitation de tout le potentiel de ce fichier peut devenir complexe, car il est particulièrement utile pour les utilisateurs expérimentés qui gèrent plusieurs serveurs.
Voici un exemple simple pour vous expliquer comment configurer une connexion SSH à une instance. Ouvrez le fichier et ajoutez les lignes suivantes en haut :
Host instance
HostName 203.0.113.100
IdentityFile ~/.ssh/myInstance_rsa
Veillez à utiliser l'adresse IP et le nom de fichier de clé corrects. La première ligne, commençant par Host
, définit le nom de cette connexion (instance
dans cet exemple).
Vous pouvez ensuite vous connecter à l'instance en remplaçant l'adresse IP de l'instance par le nom d'alias identifiant cette connexion (Host
) :
ssh username@connection_name
Exemple :
ssh ubuntu@instance
Seuls l'IP de l'instance et le fichier de clé ont été spécifiés dans l'exemple précédent, mais des détails supplémentaires peuvent être ajoutés.
Pour configurer une connexion SSH à un second hôte distant avec le nom d'utilisateur « rocky », le port SSH modifié « 49160 » et la clé privée dans le fichier « myserver_rsa », étendez le contenu du fichier comme indiqué dans cet exemple :
Host instance
HostName 203.0.113.100
IdentityFile ~/.ssh/myInstance_rsa
Host myserver
HostName 203.0.113.101
User rocky
Port 49160
IdentityFile ~/.ssh/myserver_rsa
Vous pourrez ensuite vous connecter à ce second host en renseignant :
ssh myserver
Pour plus d'informations sur le fichier config
, consultez la page man
correspondante.
///
/// details | Dépliez cette section
Ouvrez l'application Invite de commandes
en tapant « cmd » dans la barre de recherche (ou ouvrez PowerShell à partir du menu Démarrer
{.action}).
Ouvrez le répertoire .ssh
de votre compte utilisateur Windows actif (chemin par défaut : C:\Users\WindowsUsername\.ssh
) :
cd .ssh
Utilisez la commande ssh-keygen
pour créer une paire de clés. L'option -t
vous permet de spécifier la méthode de cryptage.
[!primary]
Ed25519
est considéré comme le plus sûr maisRSA
est une alternative valable. Les deux méthodes sont compatibles avec l'espace client OVHcloud.
Exemples :
ssh-keygen -t ed25519 -a 100
ssh-keygen -t rsa -b 4096 -a 100
L'invite suivante permet de nommer la clé nouvellement créée ou d'utiliser le nom de fichier standard :
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\Username/.ssh/id_rsa):
Si vous confirmez avec la touche Entrée
{.action} sans saisir de nom, le nom de fichier standard sera utilisé (id_rsa
dans cet exemple).
Si vous prévoyez d'utiliser plusieurs paires de clés à l'avenir, entrez un nom de fichier individuel pour identifier la clé. Vous trouverez plus d'informations à ce sujet ci-dessous dans la section Gestion de plusieurs clés d'authentification sur votre périphérique local.
Les exemples de sorties ci-dessous continueront à utiliser les noms de fichiers id_rsa
et id_rsa.pub
à des fins d'illustration.
Vous pouvez protéger votre clé SSH avec une phrase secrète à l'invite suivante. Ceci est recommandé pour plus de sécurité.
Warning
L'accès distant à votre instance est aussi sécurisé que le périphérique client stockant la clé privée. Il est donc crucial de protéger votre appareil et les fichiers clés qu’il contient contre tout accès non autorisé.
Pour plus de commodité et de sécurité, stockez les phrases secrètes dans un gestionnaire de mots de passe sur votre poste de travail, comme la solution open source KeePass.
Toutes les clés SSH sont stockées dans le répertoire .ssh
par défaut. Les fichiers de clé publique auront .pub
ajouté au nom de fichier.
Your identification has been saved in id_rsa.
Your public key has been saved in id_rsa.pub.
The key fingerprint is:
SHA256:MRk+Y0zCOoOkferhkTvMpcMsYspj212lK7sEauNap user@hostname
The key's randomart image is:
+---[RSA 4096]----+
| .. o |
| . .= o |
| o o X |
|. . . . |
|. .=.o .S. |
| =o.o. . . |
|o + . . o .. |
|.. . . oEoo . |
|o. .o+oo |
+----[SHA256]-----+
Vous pouvez ouvrir le fichier de clés à l'aide d'un éditeur de texte (Notepad, Notepad++, etc.). Depuis l'explorateur de fichiers Windows, faites un clic droit sur le fichier et sélectionnez Ouvrir avec
{.action}.
Vous pouvez également utiliser l'une des commandes suivantes (dans le répertoire \Users\WindowsUsername\.ssh
) :
cmd
more id_rsa.pub
powershell
cat id_rsa.pub
Copiez cette chaîne de clé pour l'ajouter à une nouvelle instance ou l'importer dans votre espace client.
[!primary]
Utilisation du Presse-papiers
Lorsque vous travaillez à partir d'une ligne de commande Windows, vous pouvez utiliser un clic droit pour coller le contenu du Presse-papiers dans la fenêtre de ligne de commande. Pour copier une chaîne à partir de la fenêtre de ligne de commande, mettez-la en surbrillance, puis appuyez sur
Entrée
{.action}. Vous pouvez également retrouver ces fonctions via un clic droit sur la barre de menu de la fenêtre de ligne de commande.
Vous pouvez utiliser plusieurs paires de clés SSH pour vous connecter à différents hôtes distants ou périphériques de réseau local.
Comme tous les fichiers clés doivent être placés dans le dossier .ssh
de votre répertoire d'utilisateurs Windows, les noms de fichiers doivent être différents. Lorsque vous créez une nouvelle paire de clés et qu'un nom de fichier vous est demandé, saisissez le nom de votre choix, par exemple le nom de votre instance.
Exemple de sortie :
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\Username/.ssh/id_rsa): KeyFileName_rsa
Your identification has been saved in KeyFileName_rsa.
Your public key has been saved in KeyFileName_rsa.pub.
Lors de la connexion à l'instance correspondante, spécifiez le nom du fichier de clé privée en plus des détails de l'utilisateur et du serveur de connexion :
ssh -i C:\Users\Username\.ssh/KeyFileName user@IP_ADDRESS
Exemple :
ssh -i C:\Users\Username\.ssh/myInstance_rsa [email protected]
L'alternative à l'ajout de l'option -i
à chaque fois est d'éditer un fichier nommé config
à l'intérieur du dossier C:\Users\Username\.ssh
. Il permet de configurer les détails des différentes connexions (nom d'utilisateur, port, fichier de clé, paramètres optionnels, etc.)
Si ce fichier existe à l'intérieur de .ssh
, il contient probablement déjà des informations. En fonction de votre environnement de travail, envisagez de créer d'abord une copie de sauvegarde de l'original.
Exemple de sortie de listage du contenu du dossier .ssh
:
C:\Users\Username\.ssh>dir /B
config
id_rsa
id_rsa.pub
known_hosts
known_hosts.old
Le fichier config
permet de stocker plusieurs connexions SSH ainsi que leurs paramètres individuels, en plus des valeurs standard. L’exploitation de tout le potentiel de ce fichier peut devenir complexe, car elle est particulièrement utile pour les utilisateurs expérimentés qui gèrent plusieurs serveurs.
Voici un exemple simple pour vous expliquer comment configurer une connexion SSH à une instance. Ouvrez le fichier et ajoutez les lignes suivantes en haut :
Host instance
HostName 203.0.113.100
IdentityFile ~/.ssh/myInstance_rsa
Veillez à utiliser l'adresse IP et le nom de fichier de clé corrects. La première ligne, commençant par Host
, définit le nom de cette connexion (instance
dans cet exemple).
Vous pouvez ensuite vous connecter à l'instance en remplaçant l'adresse IP de l'instance par le nom d'alias identifiant cette connexion (Host
) :
ssh username@connection_name
Exemple :
ssh ubuntu@instance
Seules l'IP de l'instance et le fichier de clé privée ont été spécifiés dans l'exemple précédent, mais des détails supplémentaires peuvent être ajoutés.
Pour configurer une connexion SSH à un second hôte distant avec le nom d'utilisateur « rocky », le port SSH modifié « 49160 » et la clé privée dans le fichier « myserver_rsa », étendez le contenu du fichier comme indiqué dans cet exemple :
Host instance
HostName 203.0.113.100
IdentityFile C:\Users\Username\.ssh/myInstance_rsa
Host myserver
HostName 203.0.113.101
User rocky
Port 49160
IdentityFile C:\Users\Username\.ssh/myserver_rsa
Vous pourrez ensuite vous connecter à ce second host en renseignant :
ssh myserver
Pour plus d'informations sur le fichier config
, consultez la page man
correspondante.
///
Pour ajouter des clés SSH pour d'autres utilisateurs accédant à votre instance, répétez les étapes de création de clé mais utilisez le dossier $HOME
approprié ou le répertoire Windows Users
de l'utilisateur en question pour créer et stocker les clés SSH (ou exécuter les commandes sur le périphérique dédié de cette personne).
Consultez notre guide spécifique pour une explication détaillée de ces étapes.
Comment créer une instance Public Cloud et s'y connecter
Comment bien débuter avec les connexions SSH
Comment configurer des clés SSH supplémentaires sur une instance
Pour des prestations spécialisées (référencement, développement, etc), contactez les partenaires OVHcloud.
Si vous souhaitez bénéficier d'une assistance à l'usage et à la configuration de vos solutions OVHcloud, nous vous proposons de consulter nos différentes offres de support.
Échangez avec notre communauté d'utilisateurs.