Générer des clés SSH sur Linux

Generate Ssh Keys Linux



SSH signifie S sécure Ch ell, et comme son nom l'indique, il sert à établir une connexion sécurisée entre le client et son serveur. Par défaut, chaque système d'exploitation basé sur Linux prend en charge SSH. Le protocole SSH est généralement utilisé pour accéder, commander et transférer des fichiers à distance. Ainsi, dans cet article, vous démontrerez comment générer des clés SSH et les utiliser pour protéger le serveur et des informations précieuses.







Génération de clé SSH

Lorsque nous générons une paire de clés SSH, elle est générée en deux étapes. L'une consiste à créer une clé SSH côté client et la seconde à la copier sur le serveur ou sur n'importe quel hôte distant. Une paire de clés se compose de fichiers de clés privées et publiques nommés respectivement id_rsa et id_rsa.pub dans le répertoire ~/.ssh.

L'adresse IP de mon système client est

$ipà

192.168.18.130

Une clé SSH peut être générée en exécutant la commande ssh-keygen dans le terminal.

$ssh-keygen

Il vous demandera d'entrer le nom du fichier dans lequel vous souhaitez enregistrer la clé privée et publique, ou vous pouvez utiliser les fichiers sélectionnés par défaut id_rsa et id_rsa.pub dans le répertoire .ssh (/home/user/.ssh/id_rsa ). Appuyez sur Entrée pour sélectionner le fichier fourni par défaut.

Ensuite, il demandera la phrase secrète. Une phrase secrète est en fait une sorte de couche de sécurité supplémentaire pour sécuriser la connexion entre l'hôte et le client. Lorsque vous vous connectez à l'hôte, il vous demandera à nouveau la phrase secrète. Donc, soit entrez la phrase secrète, soit vous pouvez la laisser vide et appuyer sur Entrée sans fournir de phrase secrète.

Une fois que vous avez terminé avec la phrase secrète, la clé SSH doit être générée.

Vous pouvez remarquer dans la capture d'écran que la clé générée est RSA 3072. Qu'est-ce que cela signifie ?

Type d'algorithme et taille de la clé SSH

Par défaut, le type d'algorithme de la clé générée est RSA et sa taille en bits est de 3072 bits. Mais tu peux le changer si tu veux.

Il existe trois principaux types d'algorithmes pour générer des clés SSH.

RSA – Rivest Shamir Adleman. C'est une clé avec une taille minimale de 2048, et elle est basée sur la difficulté de factoriser de grands nombres.

DSA – Algorithme de signature numérique. Cette clé est principalement utilisée avec la taille 1024.

ECDSA – Algorithme de signature numérique à courbes elliptiques. Il prend en charge 256, 384 et 521 bits.

Maintenant, si vous souhaitez fournir le type d'algorithme et la taille de bit souhaités, vous pouvez fournir le type d'algorithme suivi de la phrase -t après la commande ssh-keygen, et vous pouvez également fournir la taille de bit avec elle suivie de -b phrase. L'exemple est le suivant,

$ssh-keygen -trsa-b 4096

Comme vous pouvez le voir sur la capture d'écran, le type d'algorithme de la clé est RSA et la taille en bits est de 4096. C'est génial.

Copier la clé SSH sur l'hôte

Vous pouvez simplement copier la clé SSH sur l'hôte en exécutant la commande ci-dessous dans le terminal du client.

$nom d'utilisateur ssh-copy-id@adresse-ip-hôte

Assurez-vous de remplacer le nom d'utilisateur et l'adresse IP de l'hôte par votre nom d'utilisateur et l'adresse IP de l'hôte. Le nom d'utilisateur et l'adresse IP de mon hôte sont

Nom d'utilisateur : linuxuser
Adresse IP : 192.168.18.131

Vous pouvez faire face à une erreur de connexion refusée par le port 22 à ce stade. En cas d'erreur, veuillez visiter notre article dédié ( Comment réparer : connexion refusée par le port 22 Debian/Ubuntu – Linux Hint ) pour gérer une telle erreur.

Après avoir exécuté la commande ci-dessus, il vous confirmera de poursuivre la connexion ; tapez oui pour continuer.

Une fois qu'il est copié avec succès, vous êtes prêt à vous connecter à la machine du serveur à l'aide de la clé SSH.

Connectez-vous au serveur

Après avoir copié avec succès la clé SSH sur l'hôte, nous pouvons nous connecter à l'hôte à l'aide de la commande ssh et en fournissant le nom d'utilisateur et l'adresse IP de l'hôte à l'aide de la syntaxe suivante.

$sshNom d'utilisateur@adresse-ip-hôte

N'oubliez pas de remplacer le nom d'utilisateur et l'adresse IP par le nom d'utilisateur et l'adresse IP de votre hôte.

Et ici, vous êtes maintenant connecté à la machine de l'hôte si vous tapez la commande ip a dans le terminal.

$ipà

Il affichera l'adresse IP de la machine hôte car vous êtes actuellement sur le serveur.

Conclure

C'est ainsi que vous pouvez générer des clés SSH, les copier sur la machine hôte et accéder à l'hôte à l'aide des clés SSH. Merci beaucoup!