SSH signifie "Secure Shell" et est un protocole crypté utilisé pour se connecter et gérer un serveur distant. SSH prend également en charge divers mécanismes d'authentification. SSH utilise une authentification basée sur un mot de passe et une authentification basée sur une clé publique pour une connexion sécurisée entre un client et un serveur. L'authentification par clé SSH est plus sécurisée que l'authentification par mot de passe, car les clés sont très difficiles à deviner ou à déchiffrer avec la puissance de calcul actuellement disponible.
Dans ce didacticiel, nous allons vous montrer comment configurer l'authentification basée sur une clé SSH sur un serveur Ubuntu 18.04.
Prérequis
- Deux nouveaux VPS Ubuntu 18.04 sur la plate-forme cloud Atlantic.Net.
- Mots de passe root configurés sur les deux serveurs.
Étape 1 - Créer un serveur cloud Atlantic.Net
Tout d'abord, connectez-vous à votre serveur Atlantic.Net Cloud. Créez un nouveau serveur en choisissant Ubuntu 18.04 comme système d'exploitation avec au moins 2 Go de RAM. Connectez-vous à votre serveur cloud via SSH et connectez-vous à l'aide des informations d'identification mises en évidence en haut de la page.
Une fois que vous êtes connecté à votre serveur Ubuntu 18.04, exécutez la commande suivante pour mettre à jour votre système de base avec les derniers packages disponibles.
apt-get update -yapt-get upgrade -y
Étape 2 - Générer la clé SSH sur la machine cliente
Tout d'abord, connectez-vous à votre ordinateur client et générez une nouvelle paire de clés SSH en exécutant la commande suivante :
ssh-keygen -t rsa
Vous devrez appuyer sur Entrée pour accepter l'emplacement du fichier par défaut et fournir une phrase de passe pour ajouter une couche de sécurité supplémentaire, comme indiqué ci-dessous :
Génération de la paire de clés rsa publique/privée.Entrez le fichier dans lequel enregistrer la clé (/root/.ssh/id_rsa) :Entrez la phrase secrète (vide pour aucune phrase secrète) :Saisissez à nouveau la même phrase secrète :Votre identification a été enregistrée dans / root/.ssh/id_rsa.Votre clé publique a été enregistrée dans /root/.ssh/id_rsa.pub.L'empreinte digitale de la clé est :cd:58:c4:35:60:6f:a4:2e:f0:b7:42 :c5:20:78:86:b2 [email protected]'image randomart de la clé est :+--[ RSA 2048]----+| o. ..+o+ || . o o. =.+ . || o o. =o || E ou B. || S = || . o. || . . || . || |+-----------------+
La commande ci-dessus générera une paire de clés RSA 2048 bits avec une phrase de passe sécurisée pour empêcher les utilisateurs non autorisés de se connecter.
Vous pouvez voir les clés publiques et privées générées avec la commande suivante :
ls -l .ssh/id_rsa*
Vous devriez voir le résultat suivant :
-rw------- 1 root root 1766 1er novembre 11:03 .ssh/id_rsa-rw-r--r-- 1 root root 401 1er novembre 11:03 .ssh/id_rsa.pubÀ ce stade, vous disposez de clés publiques et privées que vous pouvez utiliser pour vous authentifier auprès de votre serveur Ubuntu.
Étape 3 - Copiez la clé publique sur le serveur Ubuntu
Ensuite, vous devrez copier la clé publique de la machine cliente sur votre serveur Ubuntu 18.04. Vous pouvez copier la clé publique avec l'utilitaire ssh-copy-id comme indiqué ci-dessous :
ssh-copy-id [email protected]Vous devriez voir le résultat suivant :
L'authenticité de l'hôte '192.168.0.102 (192.168.0.102)' ne peut pas être établie. L'empreinte digitale de la clé ECDSA est f7:9c:72:63:33:ac:d6:49:26:9c:af:c6 :ff:11:27:01.Êtes-vous sûr de vouloir continuer à vous connecter (oui/non) ? ouiTapez "oui ” et appuyez sur ENTER continuer. Vous devriez voir le résultat suivant :
/usr/bin/ssh-copy-id :INFO :tentative de connexion avec la ou les nouvelles clés, pour filtrer celles qui sont déjà installées/usr/bin/ssh-copy-id :INFO :1 la ou les clés restent à installer -- si vous êtes invité maintenant, c'est pour installer le nouveau mot de passe [email protected] :Ensuite, vous serez invité à entrer le nom d'utilisateur et le mot de passe distants. Une fois l'authentification réussie, le contenu de la clé publique ~/.ssh/id_rsa.pub sera ajouté au fichier de l'utilisateur distant ~/.ssh/authorized_keys comme indiqué ci-dessous :
Nombre de clé(s) ajoutée(s) :1 Essayez maintenant de vous connecter à la machine avec : "ssh '[email protected]'" et vérifiez que seules les clés souhaitées ont été ajoutées.Étape 4 - Désactiver l'authentification par mot de passe SSH
Ensuite, connectez-vous à votre machine serveur Ubuntu 18.04 et désactivez l'authentification par mot de passe SSH pour ajouter une couche de sécurité supplémentaire à votre serveur.
Vous pouvez désactiver l'authentification par mot de passe en modifiant le fichier /etc/ssh/sshd_config :
nano /etc/ssh/sshd_configRecherchez les lignes suivantes et remplacez la valeur par "non" :
PasswordAuthentication noChallengeResponseAuthentication noUsePAM nonEnregistrez et fermez le fichier, puis redémarrez le service SSH pour appliquer la configuration :
systemctl redémarrer sshÉtape 5 - Connectez-vous au serveur à l'aide de clés SSH
À ce stade, l'authentification basée sur la clé SSH est configurée. Il est maintenant temps de se connecter à la machine serveur Ubuntu 18.04 avec la clé publique.
Vous pouvez vous connecter à votre serveur Ubuntu 18.04 en exécutant simplement la commande suivante :
exemple [email protected]Si vous vous connectez pour la première fois, vous serez invité comme indiqué ci-dessous :
L'authenticité de l'hôte '192.168.0.102 (192.168.0.102)' ne peut pas être établie. L'empreinte digitale de la clé ECDSA est f7:9c:72:63:33:ac:d6:49:26:9c:af:c6 :ff:11:27:01.Êtes-vous sûr de vouloir continuer à vous connecter (oui/non) ? ouiTapez Oui et appuyez sur Entrée clé pour continuer. Ensuite, vous serez invité à saisir la phrase secrète de votre clé privée comme indiqué ci-dessous :
Entrez la phrase de passe pour la clé '/root/.ssh/id_rsa' :Fournissez votre phrase secrète de clé privée et appuyez sur Entrée pour vous connecter à votre serveur.
Conclusion
Dans le didacticiel ci-dessus, nous avons appris à configurer une authentification basée sur une clé SSH avec une phrase secrète sur Ubuntu 18.04. La connexion entre votre machine cliente et la machine serveur Ubuntu 18.04 est désormais hautement sécurisée. Vous pouvez également utiliser la même clé pour un autre serveur distant. Si vous êtes prêt à démarrer avec l'authentification basée sur la clé SSH, essayez l'hébergement VPS avec Atlantic.Net dès aujourd'hui.