Fatmawati Achmad Zaenuri / Shutterstock.com
Prenez la cybersécurité au sérieux et utilisez les clés SSH pour accéder aux connexions à distance. C’est un moyen plus sûr de se connecter que les mots de passe. Nous vous montrons comment générer, installer et utiliser des clés SSH sous Linux.
Quel est le problème avec les mots de passe?
Secure Shell (SSH) est le protocole crypté utilisé pour se connecter aux comptes d’utilisateurs sur des ordinateurs distants Linux ou de type Unix. En règle générale, ces comptes d’utilisateurs sont sécurisés à l’aide de mots de passe. Lorsque vous vous connectez à un ordinateur distant, vous devez fournir le nom d’utilisateur et le mot de passe du compte auquel vous vous connectez.
Les mots de passe sont les moyens les plus courants de sécuriser l’accès aux ressources informatiques. Malgré cela, la sécurité basée sur les mots de passe a ses défauts. Les gens choisissent des mots de passe faibles, partagent des mots de passe, utilisent le même mot de passe sur plusieurs systèmes, etc.
Les clés SSH sont beaucoup plus sécurisées et, une fois configurées, elles sont tout aussi faciles à utiliser que les mots de passe.
Qu’est-ce qui rend les clés SSH sécurisées?
Les clés SSH sont créées et utilisées par paires. Les deux clés sont liées et sécurisées par cryptographie. L’un est votre clé publique et l’autre votre clé privée. Ils sont liés à votre compte utilisateur. Si plusieurs utilisateurs sur un même ordinateur utilisent des clés SSH, ils recevront chacun leur propre paire de clés.
Votre clé privée est installée dans votre dossier de départ (généralement) et la clé publique est installée sur l’ordinateur distant – ou les ordinateurs – auxquels vous devrez accéder.
Votre clé privée doit être conservée en lieu sûr. S’il est accessible à d’autres, vous êtes dans la même situation que s’ils avaient découvert votre mot de passe. Une précaution raisonnable – et fortement recommandée – est que votre clé privée soit chiffrée sur votre ordinateur avec une phrase secrète.
La clé publique peut être partagée librement sans aucun compromis pour votre sécurité. Il n’est pas possible de déterminer ce qu’est la clé privée à partir d’un examen de la clé publique. La clé privée peut chiffrer des messages que seule la clé privée peut déchiffrer.
Lorsque vous effectuez une demande de connexion, l’ordinateur distant utilise sa copie de votre clé publique pour créer un message chiffré. Le message contient un ID de session et d’autres métadonnées. Seul l’ordinateur en possession de la clé privée (votre ordinateur) peut déchiffrer ce message.
Votre ordinateur accède à votre clé privée et déchiffre le message. Il renvoie ensuite son propre message chiffré à l’ordinateur distant. Entre autres choses, ce message chiffré contient l’ID de session qui a été reçu de l’ordinateur distant.
L’ordinateur distant sait maintenant que vous devez être qui vous prétendez être car seule votre clé privée peut extraire l’ID de session du message qu’elle a envoyé à votre ordinateur.
Assurez-vous que vous pouvez accéder à l’ordinateur distant
Assurez-vous que vous pouvez vous connecter et vous connecter à distance à l’ordinateur distant. Cela prouve que votre nom d’utilisateur et votre mot de passe ont un compte valide configuré sur l’ordinateur distant et que vos informations d’identification sont correctes.
N’essayez pas de faire quoi que ce soit avec les clés SSH avant d’avoir vérifié que vous pouvez utiliser SSH avec des mots de passe pour vous connecter à l’ordinateur cible.
Dans cet exemple, une personne avec un compte utilisateur appelé dave
est connecté à un ordinateur appelé howtogeek
. Ils vont se connecter à un autre ordinateur appelé Sulaco
.
Ils entrent la commande suivante:
ssh dave@sulaco
On leur demande leur mot de passe, ils le saisissent et ils sont connectés à Sulaco. Leur invite de ligne de commande change pour confirmer cela.
C’est toute la confirmation dont nous avons besoin. Donc utilisateur dave
peut se déconnecter de Sulaco
avec le exit
commander:
exit
Ils reçoivent le message de déconnexion et leur invite de ligne de commande revient à dave@howtogeek
.
Création d’une paire de clés SSH
Ces instructions ont été testées sur les distributions Ubuntu, Fedora et Manjaro de Linux. Dans tous les cas, le processus était identique et il n’était pas nécessaire d’installer de nouveau logiciel sur aucune des machines de test.
Pour générer vos clés SSH, tapez la commande suivante:
ssh-keygen
Le processus de génération démarre. Il vous sera demandé où vous souhaitez stocker vos clés SSH. Appuyez sur la touche Entrée pour accepter l’emplacement par défaut. Les autorisations sur le dossier le sécuriseront pour votre usage uniquement.
Une phrase secrète vous sera maintenant demandée. Nous vous conseillons vivement de saisir une phrase de passe ici. Et rappelez-vous ce que c’est! Vous pouvez appuyer sur Entrée pour ne pas avoir de mot de passe, mais ce n’est pas une bonne idée. Une phrase de passe composée de trois ou quatre mots non connectés, enchaînés, fera une phrase de passe très robuste.
Il vous sera demandé de saisir à nouveau la même phrase de passe pour vérifier que vous avez saisi ce que vous pensiez avoir saisi.
Les clés SSH sont générées et stockées pour vous.
Vous pouvez ignorer le «randomart» affiché. Certains ordinateurs distants peuvent vous montrer leur illustration aléatoire chaque fois que vous vous connectez. L’idée est que vous reconnaîtrez si l’art aléatoire change et que vous vous méfiez de la connexion car cela signifie que les clés SSH de ce serveur ont été modifiées.
Installation de la clé publique
Nous devons installer votre clé publique sur Sulaco
, l’ordinateur distant, afin qu’il sache que la clé publique vous appartient.
Nous faisons cela en utilisant le ssh-copy-id
commander. Cette commande établit une connexion à l’ordinateur distant comme le ssh
commande, mais au lieu de vous permettre de vous connecter, il transfère la clé SSH publique.
ssh-copy-id dave@sulaco
Bien que vous ne vous connectiez pas à l’ordinateur distant, vous devez quand même vous authentifier à l’aide d’un mot de passe. L’ordinateur distant doit identifier le compte d’utilisateur auquel appartient la nouvelle clé SSH.
Notez que le mot de passe que vous devez fournir ici est le mot de passe du compte utilisateur auquel vous vous connectez. C’est la phrase secrète que vous venez de créer.
Une fois le mot de passe vérifié, ssh-copy-id
transfère votre clé publique vers l’ordinateur distant.
Vous êtes renvoyé à l’invite de commande de votre ordinateur. Vous n’êtes pas connecté à l’ordinateur distant.
Connexion à l’aide de clés SSH
Suivons la suggestion et essayons de nous connecter à l’ordinateur distant.
ssh dave@sulaco
Étant donné que le processus de connexion nécessitera un accès à votre clé privée et que vous avez protégé vos clés SSH derrière une phrase de passe, vous devrez fournir votre phrase de passe pour que la connexion puisse se poursuivre.
Entrez votre mot de passe et cliquez sur le bouton Déverrouiller.
Une fois que vous avez entré votre mot de passe dans une session de terminal, vous n’aurez pas à le saisir à nouveau tant que vous aurez cette fenêtre de terminal ouverte. Vous pouvez vous connecter et vous déconnecter d’autant de sessions à distance que vous le souhaitez, sans saisir à nouveau votre phrase secrète.
Vous pouvez cocher la case de l’option «Déverrouiller automatiquement cette clé chaque fois que je suis connecté», mais cela réduira votre sécurité. Si vous laissez votre ordinateur sans surveillance, n’importe qui peut se connecter aux ordinateurs distants qui possèdent votre clé publique.
Une fois que vous avez entré votre mot de passe, vous êtes connecté à l’ordinateur distant.
Pour vérifier à nouveau le processus de bout en bout, déconnectez-vous avec le exit
et reconnectez-vous à l’ordinateur distant à partir de la même fenêtre de terminal.
ssh dave@sulaco
Vous serez connecté à l’ordinateur distant sans avoir besoin d’un mot de passe ou d’une phrase secrète.
Pas de mots de passe, mais une sécurité renforcée
Les experts en cybersécurité parlent d’une chose appelée friction de sécurité. C’est la douleur mineure que vous devez supporter pour obtenir le gain de sécurité supplémentaire. Il y a généralement une ou deux étapes supplémentaires nécessaires pour adopter une méthode de travail plus sûre. Et la plupart des gens n’aiment pas ça. Ils préfèrent en fait une sécurité inférieure et le manque de friction. C’est la nature humaine.
Avec les clés SSH, vous bénéficiez d’une sécurité accrue et d’une plus grande commodité. C’est définitivement gagnant-gagnant.