GNU/Linux >> Tutoriels Linux >  >> Linux

Comment générer et utiliser la clé SSH dans le système Linux ?

Aujourd'hui, nous allons donner une brève description de la façon de générer et d'utiliser la clé SSH dans le système Linux.

Comment générer la clé SSH sur le système Linux ?

Une clé SSH est un identifiant d'accès pour le protocole réseau SSH (Secure Shell). Ce protocole réseau sécurisé d'authentification et de cryptage est utilisé pour la communication à distance entre les machines sur un réseau ouvert non sécurisé.

En d'autres termes, nous pouvons dire qu'une clé SSH est un identifiant d'accès sécurisé utilisé dans le shell sécurisé ( SSH). Les clés SSH utilisent des paires de clés basées sur la technologie d'infrastructure à clé publique, la référence en matière d'authentification et de chiffrement d'identité numérique, afin de fournir une méthode d'authentification sécurisée et évolutive.

Comment fonctionne l'authentification à l'aide d'une paire de clés SSH ?

La paire de clés SSH est utilisée pour authentifier l'identité d'un utilisateur ou d'un processus qui souhaite accéder à un système distant à l'aide du protocole SSH. La clé publique SSH est utilisée à la fois par l'utilisateur et le serveur distant et est utilisée pour chiffrer les messages.

Côté serveur distant, la clé publique est enregistrée dans un fichier qui contient une liste de tous les clés publiques. Du côté de l'utilisateur, la clé publique est stockée dans un logiciel de gestion de clés SSH ou dans un fichier sur son ordinateur. La clé privée reste uniquement sur le système utilisé pour accéder au serveur distant et est utilisée pour déchiffrer les messages.

Lorsqu'un utilisateur ou un processus demande une connexion au serveur distant à l'aide du client SSH, un challenge- la séquence de réponse est initiée pour terminer l'authentification. Le serveur SSH reconnaît qu'une connexion est demandée et envoie une demande de défi chiffrée à l'aide des informations de la clé publique partagée.

Le client SSH déchiffre ensuite le message de défi et répond au serveur SSH. L'utilisateur ou le processus doit répondre correctement au défi pour obtenir l'accès. Cette séquence défi-réponse se produit automatiquement entre le client SSH et le serveur SSH sans aucune action manuelle de l'utilisateur.

Dans ce guide, nous nous concentrerons sur la configuration de la clé SSH pour le système Ubuntu. Vous pouvez utiliser ces étapes pour configurer la clé SSH dans tous les environnements Linux. Les clés SSH offrent un moyen simple et sécurisé de se connecter à votre serveur et sont recommandées pour tous les utilisateurs.

Étape 1 :Créer les paires de clés RSA

La première étape consiste à créer les paires de clés sur le système local.





Par défaut, ssh-keygen génère une paire de clés RSA de 2048 bits. Vous pouvez éventuellement transmettre les drapeaux -b 4096 pour créer une clé de bit RSA plus grande. Après avoir entré la commande ssh-keygen, vous devriez voir l'écran ci-dessous.



Appuyez sur ENTER pour enregistrer les paires de clés dans le .ssh/ sous-répertoire de votre répertoire personnel ou spécifiez un autre chemin. Si vous avez généré la clé SSH précédemment, vous pouvez voir l'écran ci-dessous.





Si vous choisissez d'écraser la clé existante sur le serveur, vous ne pourrez plus vous authentifier avec la clé précédente. Soyez très prudent lorsque vous sélectionnez oui, car ce processus ne peut pas être inversé. Après cela, vous verrez l'écran ci-dessous.



Vous pouvez éventuellement entrer ici une phrase de passe sécurisée, ce qui est fortement recommandé. Une phrase de passe est similaire à un mot de passe. Cependant, un mot de passe fait généralement référence à quelque chose utilisé pour s'authentifier ou se connecter à un système. Un mot de passe fait généralement référence à un secret utilisé pour protéger une clé de chiffrement.

Une clé de chiffrement est dérivée de la phrase secrète et utilisée pour chiffrer les ressources protégées. Une phrase de passe ajoute une couche de sécurité supplémentaire pour empêcher les utilisateurs non autorisés de se connecter. Après cela, vous verrez l'écran suivant.





Maintenant, vous aurez une clé publique et privée que vous pourrez utiliser pour l'authentification. L'étape suivante consiste à placer la clé publique sur votre serveur afin que vous puissiez utiliser l'authentification basée sur la clé SSH pour vous connecter.

Étape :2 Copiez la clé publique sur le serveur CentOS

Le moyen le plus simple de copier la clé publique sur le serveur consiste à utiliser la commande ssh-copy-id. La commande ci-dessus est fortement recommandée en raison de sa simplicité. Copiez la clé SSH à l'aide de la commande ssh-copy-id. À l'aide de la commande ssh-copy-id, vous devrez spécifier le nom d'utilisateur et l'adresse IP/le serveur hôte sur lequel vous souhaitez coller la clé SSH.

exemple ssh-copy-id@ unixlinux.online/Serveur hôte
Par exemple # ssh-copy-id [email protected] (192.168.2.152 est notre adresse IP interne que nous avons utilisée pour effectuer les étapes de l'article. Veuillez remplacer cette adresse IP par votre adresse IP réelle.)



Après cela, vous pouvez voir l'écran ci-dessous.





Ici, vous devrez saisir le mot de passe de l'hôte distant sur lequel vous souhaitez coller la clé SSH et appuyer sur « ENTER ». Une fois que vous avez appuyé sur "ENTRÉE", il se connectera à l'hôte distant et copiera le contenu de votre clé ~/.ssh/id_rsa.pub dans un fichier du répertoire d'accueil ~/.ssh du compte distant appelé authorized_keys. Vous pouvez voir l'écran ci-dessous.



Maintenant, votre clé id_rsa.pub a été téléchargée sur le compte distant.

Étape 3 - Authentifiez-vous auprès de votre serveur Ubuntu à l'aide de clés SSH

Si vous avez terminé la procédure, vous devriez pouvoir vous connecter à l'hôte distant sans le mot de passe du compte distant. Entrez la commande suivante dans le terminal pour vous connecter à votre serveur distant sans le mot de passe du compte distant.

# ssh [email protected]_address_of_remote_server
Par exemple # ssh [email protected]





Une fois que vous aurez appuyé sur "ENTER", vous serez connecté à l'hôte distant.

Étape 4 :Désactivez l'authentification par mot de passe sur votre serveur

Si vous vous êtes connecté avec succès au serveur, cela signifie que vous avez configuré avec succès l'authentification basée sur la clé SSH. Cependant, votre authentification par mot de passe est toujours active sur le serveur. Cela signifie que votre serveur est toujours exposé aux attaques par force brute.

Pour empêcher les attaques par force brute, vous devez désactiver l'authentification par mot de passe sur votre serveur. Pour cela, assurez-vous que votre compte dispose des privilèges d'administrateur (root). Tout d'abord, connectez-vous au serveur sur lequel vous avez configuré l'authentification par clé SSH.

Pour désactiver l'authentification par mot de passe, vous devrez utiliser la commande ci-dessous.

# sudo vi/etc/ssh/ssg_config





Dans le fichier, recherchez la ligne suivante PasswordAuthentication. Appuyez sur "Je ” pour insérer le texte et modifier la ligne et définir la valeur “NON ”. Cela désactivera votre capacité à vous connecter via SSH à l'aide des mots de passe du compte.



Une fois que vous avez terminé la procédure ci-dessus, appuyez sur "Esc " et tapez " :wq ” et appuyez sur Entrée.



Pour mettre en œuvre ces modifications, vous devrez redémarrer le service sshd à l'aide du commande ci-dessous.

# sudo systemctl restart sshd.service



C'est tout.






Linux
  1. Comment générer une clé SSH dans Windows 10

  2. Comment installer et utiliser Linux Screen ?

  3. Comment configurer la clé publique et privée SSH sous Linux

  4. Comment utiliser les commandes strace et ltrace sous Linux

  5. Comment installer et utiliser Glances pour surveiller les systèmes Linux

Comment installer et utiliser Skype sur le système Linux. C'est maintenant plus facile

Comment installer et utiliser le compilateur GCC sur le système Linux

Comment monter et utiliser un lecteur exFAT sur un système Linux

Comment installer et utiliser Tmux (multiplexeur de terminaux) dans le système Linux

Comment installer et utiliser AsciiDoc dans le système Linux

Comment installer et utiliser l'émulateur de terminal Konsole dans le système Linux