Comment créer et installer des clés SSH à partir du shell Linux

Contenu

Ordinateur portable Linux affichant une invite de shell

Prenez la cybersécurité au sérieux et utilisez des clés SSH pour entrer des connexions à distance. Ils sont 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?

Enveloppe de protection (SSH) est le protocole crypté utilisé pour se connecter aux comptes d'utilisateurs sur des ordinateurs distants Linux ou Unix. Régulièrement, ces comptes utilisateurs sont protégés par des 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 le moyen le plus courant d'assurer l'accès aux ressources informatiques. Toutefois, la sécurité par mot de passe a ses défauts. Les gens choisissent des mots de passe faibles, partager des mots de passe, utiliser 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é, ils sont aussi faciles à utiliser que les mots de passe.

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 cryptographiquement sécurisées. L'une est votre clé publique et l'autre est votre clé privée. Ils sont liés à votre compte utilisateur. Si plusieurs utilisateurs sur un même ordinateur utilisent des clés SSH, chacun recevra sa propre paire de clés.

Votre clé privée est installée dans votre dossier personnel (généralement) et la clé publique est installée sur l'ordinateur distant (ou des ordinateurs) que vous devrez saisir.

Votre clé privée doit être conservée en lieu sûr. Si d'autres peuvent y entrer, vous êtes dans la même situation que si votre mot de passe avait été découvert. Une précaution raisonnable, et fortement recommandé, est que votre clé privée est cryptée sur votre ordinateur avec un robuste mot de passe.

La clé publique peut être librement partagée sans compromettre sa sécurité. Il n'est pas possible de déterminer quelle 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 faites une demande de connexion, l'ordinateur distant utilise votre copie de votre clé publique pour créer un message crypté. Le message contient un identifiant de session et d'autres métadonnées. Seul l'ordinateur en possession de la clé privée, son ordinateur, peut déchiffrer ce message.

Votre ordinateur accède à votre clé privée et décrypte le message. Il envoie ensuite son propre message crypté à l'ordinateur distant. Entre autres choses, ce message crypté contient l'ID de session 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 pourrait extraire l'ID de session du message qu'il a envoyé à votre ordinateur.

Assurez-vous que vous pouvez entrer dans l'ordinateur distant

Assurez-vous que vous pouvez vous connecter à distance et vous connecter à 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é systempeaker . Ils se connecteront à un autre ordinateur appelé Sulaco.

Ils entrent la commande suivante:

ssh dave@sulaco

On leur demande leur mot de passe, ils y entrent et se connectent à Sulaco. Votre invite de ligne de commande change pour le confirmer.

l'utilisateur dave s'est connecté à sulaco en utilisant ssh et un mot de passe

C'est toute la confirmation dont nous avons besoin. Puis utilisateur dave peut se déconnecter de Sulaco avec lui exit commander:

sortir

l'utilisateur dave s'est déconnecté de sulaco

Ils reçoivent le message de déconnexion et leur ligne de commande revient à dave@systempeaker.

EN RELATION: Comment se connecter à un serveur SSH depuis Windows, MacOS ou Linux

Créer une paire de clés SSH

Ces instructions ont été testées sur les distributions Linux Ubuntu, Fedora et Manjaro. Dans tous les cas, la procédure é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

La procédure de génération commence. Il vous sera demandé où vous souhaitez que vos clés SSH soient stockées. Appuyez sur la touche Entrée pour accepter l'emplacement par défaut. Les autorisations du dossier le protégeront pour une utilisation uniquement.

Vous serez maintenant invité à saisir une phrase secrète. Nous vous suggérons fortement d'entrer une phrase secrète 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 secrète composée de trois ou quatre mots disjoints, liés ensemble, formera une phrase secrète très forte.

Il vous sera demandé d'entrer le même mot de passe une fois de plus pour vérifier que vous avez tapé ce que vous pensiez avoir tapé.

Les clés SSH sont générées et stockées pour vous.

Vous pouvez ignorer le “randomart” Montré. Certains ordinateurs distants peuvent vous montrer leur art aléatoire à chaque fois que vous vous connectez. L'idée est qu'il reconnaît si l'art aléatoire change et soupçonne 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 dans Sulaco , l'ordinateur distant, pour que vous sachiez que la clé publique vous appartient.

Nous le faisons en utilisant le ssh-copy-id commander. Cette commande établit une connexion à l'ordinateur distant comme d'habitude. ssh commander, mais au lieu de vous permettre de vous connecter, transférer la clé publique SSH.

ssh-copy-id dave@sulaco

ssh-copy-id dave @ sulaco

Même lorsque vous ne vous connectez pas à l'ordinateur distant, vous devez toujours vous authentifier avec un mot de passe. L'ordinateur distant doit identifier à quel compte utilisateur la nouvelle clé SSH appartient.

Veuillez noter que le mot de passe que vous devez fournir ici est le mot de passe du compte utilisateur auquel vous vous connectez. Ceci est non la phrase secrète que vous venez de créer.

Lorsque le mot de passe a été vérifié, ssh-copy-id transfère votre clé publique vers l'ordinateur distant.

Vous retournerez à l'invite de commande de votre ordinateur. Il n'est pas connecté à l'ordinateur distant.

Connexion via clés SSH

Suivons la suggestion et essayons de nous connecter à l'ordinateur distant.

ssh dave@sulaco

Parce que la procédure de connexion nécessitera l'accès à votre clé privée, et parce que vous avez protégé vos clés SSH derrière une phrase secrète, vous devrez fournir votre mot de passe pour que la connexion continue.

boîte de dialogue de demande de mot de passe

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 cette fenêtre de terminal est ouverte. Vous pouvez vous connecter et vous déconnecter d'autant de sessions distantes que vous le souhaitez, sans ressaisir votre mot de passe.

Vous pouvez cocher la case de l’option “Déverrouillez automatiquement cette clé chaque fois que vous vous connectez”, mais cela réduira votre sécurité. Si vous laissez votre ordinateur sans surveillance, tout le monde peut se connecter à des ordinateurs distants qui ont leur clé publique.

Une fois que vous avez entré votre mot de passe, sera connecté à l'ordinateur distant.

Pour vérifier la procédure une fois de plus d'un bout à l'autre, déconnecter avec exit commande 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 de mot de passe ou de phrase secrète.

Pas de mots de passe, mais sécurité améliorée

Les experts en cybersécurité parlent de ce qu'on appelle les frictions de sécurité. C'est la moindre douleur que vous devez endurer pour obtenir le gain de sécurité supplémentaire. En général, quelques étapes supplémentaires sont nécessaires pour adopter une méthode de travail plus sûre. Et la plupart des gens n'aiment pas ça. En réalité, préfèrent moins de sécurité et manque de friction. C'est la nature humaine.

Avec clés SSH, vous obtenez plus de sécurité et de confort. C'est certainement un avantage mutuel.

setTimeout(fonction(){
!fonction(F,b,e,v,m,t,s)
{si(f.fbq)revenir;n=f.fbq=fonction(){n.callMethod?
n.callMethod.apply(m,arguments):n.queue.push(arguments)};
si(!f._fbq)f._fbq=n;n.push=n;n.chargé=!0;n.version=’2.0′;
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertAvant(t,s) } (window, document,'scénario',
'https://connect.facebook.net/en_US/fbevents.js’);
fbq('init', « 335401813750447 »);
fbq('Piste', « Page View »);
},3000);

Abonnez-vous à notre newsletter

Nous ne vous enverrons pas de courrier SPAM. Nous le détestons autant que vous.