Comment ajouter des clés SSH à un nouveau VPS ou à un VPS existant ?
Lorsque vous gérez un serveur privé virtuel (VPS), la sécurité est une priorité absolue, et l’un des moyens les plus sûrs de s’authentifier sur votre serveur est d’utiliser des clés SSH. Les clés SSH fournissent une méthode sécurisée et sans mot de passe pour se connecter à votre serveur en utilisant la cryptographie à clé publique. Ce guide vous guidera à travers le processus d’ajout de clés SSH aux environnements VPS nouveaux et existants, garantissant une expérience de connexion transparente et sécurisée.
Que sont les clés SSH ?
Les clés SSH sont une paire de clés cryptographiques – une clé publique et une clé privée – utilisées pour l’authentification. La clé publique est stockée sur le serveur et la clé privée reste sur votre machine locale. Lorsque vous tentez de vous connecter, le serveur compare la clé publique à la clé privée et, si les deux correspondent, l’accès vous est accordé sans qu’il soit nécessaire d’entrer un mot de passe. Les clés SSH constituent une méthode plus sûre que les mots de passe traditionnels, qui sont susceptibles de faire l’objet d’attaques par force brute.
Pourquoi utiliser des clés SSH ?
- Sécurité accrue: Les clés SSH utilisent l’authentification cryptographique, qui est beaucoup plus sûre que les mots de passe.
- Authentification sans mot de passe: Une fois les clés SSH configurées, vous pouvez vous connecter à votre VPS sans avoir à saisir de mot de passe.
- Automatisation: Les clés SSH sont idéales pour automatiser des tâches telles que les sauvegardes, les transferts de fichiers à distance et les scripts d’administration système.
Conditions préalables
Avant de commencer, assurez-vous d’avoir
- Unaccès à un VPS (nouveau ou existant).
- SSH installé sur votre machine locale (généralement installé par défaut sur macOS et Linux).
- Une paire de clés SSH. Si vous n’en avez pas, nous verrons comment la générer.
Ajouter des clés SSH à un nouveau SDV
Si vous configurez un nouveau VPS, de nombreux hébergeurs vous permettent d’ajouter une clé SSH pendant le processus de création du VPS. Voici comment procéder :
Étape 1 : Générer une paire de clés SSH (si vous n’en avez pas)
Si vous n’avez pas encore de paire de clés SSH, vous pouvez en générer une en utilisant la commande suivante dans votre terminal local (sur macOS ou Linux) :
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
Cette commande crée une nouvelle clé SSH à l’aide d’un cryptage RSA 4096 bits et ajoute votre adresse électronique en tant que commentaire à la clé. Suivez les invites à l’écran pour enregistrer la clé à l’emplacement par défaut(~/.ssh/id_rsa) et, éventuellement, ajoutez une phrase de passe pour une couche de sécurité supplémentaire.
Les fichiers générés sont les suivants :
- id_rsa: la clé privée (ne jamais la partager).
- id_rsa.pub: La clé publique (c’est ce que vous téléchargez sur votre VPS).
Pour afficher la clé publique, exécutez la commande suivante et copiez la sortie
cat ~/.ssh/id_rsa.pub
Etape 2 : Se connecter à votre fournisseur VPS
Tout d’abord, vous devez vous connecter à votre compte VPS. La plupart des fournisseurs vous donnent la possibilité d’ajouter une clé SSH lors de l’installation du SDV.
Étape 3 : Créer un nouveau SDV et ajouter la clé SSH
Pendant le processus de création du SDV :
- Sélectionnez le système d’exploitation (généralement basé sur Linux, comme Ubuntu ou CentOS).
- Recherchez l’option Ajouter une clé SSH ou une méthode d’authentification.
- Collez la clé SSH publique (id_rsa.pub) dans le champ prévu à cet effet.
- Terminez la configuration du VPS en choisissant un plan, une région et d’autres options.
Une fois le SDV créé, il sera automatiquement configuré pour autoriser l’accès SSH à l’aide de votre clé SSH.
Étape 4 : Se connecter au SDV
Maintenant que votre SDV est configuré avec votre clé SSH, vous pouvez vous y connecter en utilisant la commande suivante (remplacez votre_vps_ip par l’adresse IP de votre SDV) :
ssh root@vps_ip
Si tout est configuré correctement, vous pourrez vous connecter à votre VPS en utilisant la commande suivante
connecté à votre VPS sans avoir besoin d’entrer un mot de passe.
Ajouter des clés SSH à un SDV existant
Si vous disposez déjà d’un serveur virtuel mais que vous utilisez actuellement une authentification par mot de passe, vous pouvez ajouter des clés SSH pour sécuriser les connexions futures. Voici comment procéder :
Etape 1 : Générer une paire de clés SSH (si nécessaire)
Si vous n’avez pas encore généré une paire de clés SSH, exécutez la commande suivante sur votre machine locale pour en créer une :
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
Copiez la clé publique(id_rsa.pub) en exécutant la commande suivante : ssh-keygen -t rsa -b 4096 -C “” :
cat ~/.ssh/id_rsa.pub
Etape 2 : Se connecter à votre VPS
Pour ajouter une clé SSH à un VPS existant, vous devrez vous connecter en utilisant la méthode actuelle (probablement avec un mot de passe). Utilisez la commande suivante pour vous connecter à votre VPS (remplacez votre_vps_ip par l’adresse IP réelle) :
ssh root@vps_ip
Saisissez votre mot de passe lorsque vous y êtes invité.
Étape 3 : Créer le répertoire .ssh (s’il n’est pas présent)
Une fois que vous êtes connecté à votre SDV, vérifiez si le répertoire.ssh existe. Si ce n’est pas le cas, créez-le en exécutant les commandes suivantes :
mkdir -p ~/.ssh
chmod 700 ~/.ssh
Le répertoire .ssh est l’endroit où votre clé publique sera stockée.
Étape 4 : Ajouter la clé publique au fichier authorized_keys
Ensuite, vous devez ajouter votre clé publique au fichier authorized_keys, qui est utilisé par SSH pour authentifier vos tentatives de connexion.
- Ouvrez le fichier authorized_keys (créez-le s’il n’existe pas) à l’aide d’un éditeur de texte tel que nano:
nano ~/.ssh/authorized_keys
- Collez votre clé SSH publique (copiée à partir de la commande cat ~/.ssh/id_rsa.pub ) dans le fichier.
- Enregistrez et fermez le fichier en appuyant sur Ctrl X , puis Y, et appuyez sur Entrée.
- Définissez les autorisations correctes sur le fichier authorized_keys pour vous assurer qu’il n’est accessible que par l’utilisateur actuel :
chmod 600 ~/.ssh/authorized_keys
Étape 5 : Tester l’authentification par clé SSH
Après avoir ajouté la clé SSH, quittez la session en cours en tapant :
exit
Essayez maintenant de vous connecter à nouveau à votre SDV en utilisant SSH :
ssh root@vos_vps_ip
Si la clé a été ajoutée avec succès, vous devriez être connecté sans qu’un mot de passe vous soit demandé.
Étape 6 : Désactiver l’authentification par mot de passe (optionnel)
Pour plus de sécurité, vous pouvez désactiver l’authentification par mot de passe afin de vous assurer que seules les clés SSH peuvent être utilisées pour se connecter. Pour ce faire, procédez comme suit
- Ouvrez le fichier de configuration SSH sur votre SDV :
nano /etc/ssh/sshd_config
- Trouvez les lignes suivantes et modifiez-les :
PasswordAuthentication no
PubkeyAuthentication yes
- Enregistrez le fichier et redémarrez le service SSH pour appliquer les modifications :
systemctl restart sshd
Cette opération désactivera les connexions par mot de passe, ce qui permettra uniquement aux utilisateurs disposant d’une clé SSH valide d’accéder au serveur.
Conclusion
L’utilisation de clés SSH est l’un des moyens les plus efficaces de sécuriser l’accès à votre serveur virtuel, en éliminant le besoin d’une authentification traditionnelle par mot de passe. Que vous configuriez un nouveau VPS ou que vous sécurisiez un VPS existant, l’ajout de clés SSH est un processus simple qui améliore considérablement la sécurité. En suivant ce guide, vous pouvez facilement configurer les clés SSH sur votre VPS, automatiser les connexions sécurisées et garantir un niveau de protection plus élevé pour votre serveur et vos données.