Comment utiliser SSH-Keygen pour générer une clé SSH

Comment utiliser SSH-Keygen pour générer une clé SSH

Ssh ou coquille sécurisée est un protocole chiffré utile pour sécuriser les connexions entre le client et le serveur pour différentes tâches administratives. Il prend en charge divers types de systèmes d'authentification. L'authentification publique basée sur la clé et l'authentification basée sur le mot de passe sont principalement utilisées. L'authentification basée sur les clés est plus sécurisée que l'authentification basée sur les mots de passe. Les paires de clés d'authentification pour le SSH sont générées par l'outil SSH-Keygen qui peut être utilisé à différentes fins telles que l'authentification de l'hôte, l'automatisation de la connexion, etc. Comment cet outil peut être utilisé dans Ubuntu a été montré dans ce tutoriel.

Syntaxe:

La syntaxe de cette commande a donné ci-dessous. Il prend en charge de nombreuses options pour générer des paires de clés d'authentification qui ont été décrites plus tard.

ssh-keygen [-q] [-b bits] [-c commentaire] [-f output_keyfile] [-m format]
[-T DSA | ecdsa | ECDSA-SK | ED25519 | ED25519-SK | RSA]
[-N new_passphrase] [-o option] [-w fournisseur]

Différentes options de SSH-Keygen:

Les objectifs d'utiliser différents types d'options SSH-Keygen sont expliqués ci-dessous.

Option But
-UN Il génère les touches de l'hôte avec le chemin de fichier de clé par défaut, la phrase de passe vide, les bits par défaut pour le type de clé et le commentaire.
-Bits B Il est utilisé pour définir le nombre de bits dans la clé qui sera créée.
-C commentaire Il est utilisé pour définir le nouveau commentaire.
-c Il est utilisé pour demander la modification du commentaire des fichiers de clés publics et privés.
-E digitalprint_hash Il est utilisé pour définir l'algorithme de hachage qui sera utilisé pour afficher les empreintes digitales.
-e Il est utilisé pour lire le fichier de clé privé ou public et imprimer au stdout.
-F Name hôte | [nom d'hôte]: port Il est utilisé pour rechercher le nom d'hôte particulier avec le numéro de port en option dans le fichier connu_hosts.
-F Nom de fichier Il est utilisé pour définir le nom de fichier du fichier clé.
-H Il est utilisé pour hacher un fichier connu_hosts. Il remplacera tous les noms d'hôte et adresses par les représentations hachés dans le fichier spécifié. Le contenu d'origine sera déplacé vers un fichier avec le .vieux suffixe.
-je Il est utilisé pour lire un fichier clé privé (ou public) non crypté.
-L Il est utilisé pour imprimer le contenu d'un ou plusieurs certificats.
-l Il est utilisé pour montrer l'empreinte digitale d'un fichier de clé publique spécifié.
-N new_passphrase Il est utilisé pour fournir la nouvelle phrase secrète.
-P Phrass de passe Il est utilisé pour fournir l'ancienne phrase secrète.
-t dsa | ecdsa | ECDSA-SK | ED25519 | ED25519-SK | RSA Il est utilisé pour définir le type de clé qui sera créé.

Créer des clés à l'aide de SSH-Keygen:

Vous pouvez créer des paires de clés SSH en exécutant SSH-Keygen avec des options ou sans aucune option. Différentes façons de créer les paires de clés SSH se sont montrées dans cette partie de ce tutoriel. Vous devez vous connecter à la machine du serveur où OpenSSH a installé pour créer les touches

Générez les paires de clés sans aucune option:

La commande suivante créera des paires de clés sans utiliser aucune option.

$ ssh-keygen

Après avoir exécuté la commande ci-dessus, vous pouvez fournir le nom de fichier où la touche sera enregistrée ou appuyez sur la touche Entrée pour enregistrer le nom de fichier par défaut. Ici, la touche Entrée a été enfoncée. Ensuite, vous pouvez à nouveau appuyer sur la touche Entrée pour définir le mot de passe vide ou définir le mot de passe.

Générez les paires de clés avec une seule option:

La commande suivante générera les paires clés du type RSA mentionné dans la commande avec l'option -t.

$ ssh-keygen -t rsa

Comme la commande précédente, vous pouvez fournir le nom de fichier ou utiliser le nom de fichier par défaut pour stocker les paires de clés et définir le mot de passe ou le mot de passe vide pour la connexion SSH.

Générez les paires de clés avec plusieurs options:

Exécutez la commande suivante pour générer les paires clés de type RSA avec 2000 bits et la valeur de commentaire, «Fahmida @ 10.0.2.15 ”.

$ ssh-keygen -t rsa -b 2000 -c "Mailto: Fahmida @ 10.0.2.15 "> Fahmida @ 10.0.2.15 "

Comme la commande précédente, vous pouvez fournir le nom de fichier ou utiliser le nom de fichier par défaut pour stocker les paires de clés et définir le mot de passe ou le mot de passe vide pour la connexion SSH. Si vous avez généré les fichiers clés avant d'exécuter la commande ci-dessus, il vous demandera de remplacer le fichier clé ou non. Si vous tapez «y», il écrasera le fichier précédemment généré avec les nouvelles clés.

Copiez la clé publique sur le serveur:

Exécutez la commande suivante à partir de la machine du serveur pour ajouter la clé publique à la machine du serveur. La commande copiera la clé sur le serveur et la configurera pour ajouter la clé au fichier Authorized_keys pour accéder au serveur.

$ ssh-copy-id -i ~ /.SSH / ID_RSA FAHMIDA @ FAHMIDA-VirtualBox

La sortie suivante apparaîtra si la clé publique ne s'ajoutait pas auparavant dans la machine du serveur.

Modifiez le fichier de configuration du serveur:

Vous devez activer certaines options dans le fichier de configuration de la machine du serveur si vous souhaitez définir l'authentification basée sur le mot de passe et permettre la connexion de l'utilisateur racine du serveur. Le chemin d'accès du fichier de configuration SSH du serveur est / etc / ssh / sshd_config. Ouvrez le fichier dans n'importe quel éditeur de texte. Exécutez la commande suivante pour modifier le fichier dans Nano Editor.

$ sudo nano / etc / ssh / sshd_config

Ajouter ou modifier le fichier avec les lignes suivantes pour activer l'authentification basée sur le mot de passe et définir l'autorisation pour la connexion de l'utilisateur racine.

PasswordAuthentication Oui
Permutrootlogin oui

Enregistrez et fermez le fichier. Exécutez la commande suivante pour redémarrer le service SSH.

$ sudo systemctl redémarrer ssh

Connectez-vous à partir du client SSH:

Connectez-vous à la machine client d'où vous souhaitez vous connecter avec le serveur pour vérifier si la connexion SSH fonctionne. Ouvrez le terminal et exécutez la commande suivante pour ajouter l'identité de la machine du serveur.

$ SSH-ADD

Exécutez la commande SSH suivante pour se connecter avec la machine serveur à partir de la machine client. L'authentification du mot de passe et la connexion racine ont été activées dans le fichier de configuration SSH du serveur dans la partie précédente de ce tutoriel. Ainsi, l'utilisateur doit fournir le mot de passe racine valide de la machine du serveur pour établir une connexion SSH avec succès.

$ ssh Fahmida @ 10.0.2.15

La sortie similaire suivante apparaîtra après avoir établi une connexion SSH au serveur du client.

Conclusion:

Le SSH-Keygen utilise pour générer une paire de clés SSH de différentes manières a été expliquée dans ce tutoriel. J'espère que l'utilisateur Ubuntu générera les clés SSH en utilisant SSH-Keygen pour établir une connexion SSH après avoir lu ce tutoriel.