GNU/Linux >> Tutoriels Linux >  >> AlmaLinux

Comment configurer la connexion SSH sans mot de passe dans AlmaLinux

Secure Shell , populairement connu sous le nom de SSH , est un protocole réseau sécurisé qui permet aux utilisateurs de se connecter en toute sécurité à des hôtes distants tels que des serveurs. Il est basé sur une architecture client-serveur et utilise deux principales méthodes d'authentification - mot de passe et clé ssh authentification par paire.

La clé SSH L'authentification par paire utilise l'utilisation de clés SSH qui sont des clés cryptographiques utilisées pour authentifier et sécuriser la communication entre le client et le serveur. L'authentification par paire de clés SSH est préférée à l'authentification par mot de passe car elle fournit une authentification plus sûre qui n'est pas sensible aux attaques par force brute.

Dans ce tutoriel, nous illustrons comment vous pouvez configurer des clés SSH sur AlmaLinux .

Créer une paire de clés RSA SSH dans AlmaLinux

Pour commencer l'émission, nous allons créer un RSA paire de clés composée d'une clé publique et d'une clé privée. Nous démystifierons ces clés plus loin dans le guide. Pour créer la paire de clés, exécutez la commande :

$ ssh-keygen
OR
$ ssh-keygen -t rsa 

Les commandes ci-dessus créent un 2048 -bit Paire de clés RSA qui est considérée comme suffisamment bonne pour offrir un cryptage décent pour sécuriser la communication. Cependant, vous pouvez créer un 4096 -paire de clés bit qui est plus robuste et offre un meilleur cryptage.

Pour cela, passez simplement le -b drapeau. C'est exactement ce que nous allons faire.

$ ssh-keygen -b 4096

Juste après avoir appuyé sur ENTER , il vous sera demandé de fournir le chemin dans lequel les clés seront stockées. Par défaut, c'est le ~/.ssh annuaire. À moins que vous ne deviez le changer pour un chemin différent, accédez simplement au répertoire par défaut en appuyant sur ENTRÉE .

Par la suite, vous devrez fournir une phrase secrète ou un mot de passe. Bien que facultatif, cela ajoute une couche de protection supplémentaire lors de l'authentification.

Cependant, cela est limité lorsque vous souhaitez configurer l'authentification par clé ssh sans mot de passe sur un hôte distant. Si tel est votre objectif, appuyez simplement sur 'ENTER ' pour ignorer la saisie de la phrase clé.

Voici la sortie complète de la commande.

À ce stade, vos clés doivent être stockées dans le ~/.ssh répertoire qui est un répertoire caché dans votre répertoire personnel. Juste pour le confirmer, lancez la commande :

$ ls -la ~/.ssh

Quelques points à noter :

  • Le id_rsa est la clé privée. Comme son nom l'indique, cela doit rester extrêmement confidentiel et ne doit jamais être divulgué ou partagé. Un attaquant peut facilement compromettre votre hôte distant une fois qu'il a obtenu la clé privée.
  • Le id_rsa.pub est la clé publique, qui peut être partagée sans aucun problème. Vous pouvez l'enregistrer sur n'importe quel hôte distant auquel vous souhaitez vous connecter.

Copier la clé publique SSH sur le serveur Linux distant

L'étape suivante consiste à copier ou à transférer la clé publique sur le serveur ou l'hôte distant. Vous pouvez le faire manuellement, mais le ssh-copy-id la commande vous permet facilement de le faire.

Le ssh-copy-id commande prend la syntaxe suivante :

$ ssh-copy-id user@remote-host-ip-address

Dans notre configuration, nous avons un hôte distant avec IP 172.105.135.246 et un utilisateur distant configuré appelé jack .

Pour copier la clé SSH publique, nous allons lancer la commande :

$ ssh-copy-id [email protected]

S'il s'agit de la première connexion à l'hôte, vous obtiendrez la sortie ci-dessous. Pour procéder à l'authentification, tapez ‘yes’ et appuyez sur ENTER pour continuer.

Une fois que vous avez fourni le mot de passe et appuyez sur 'ENTER ' la clé publique est placée dans le authorized_file fichier dans le ~/.ssh répertoire sur l'hôte distant.

Sur votre système local, les known_hosts le fichier est créé dans le ~/.ssh annuaire. Le fichier contient les empreintes digitales SSH des hôtes distants auxquels vous vous êtes connecté.

$ ls -la ~/.ssh

Vous pouvez l'afficher comme suit.

$ cat ~/.ssh/known_hosts

Connexion SSH sans mot de passe à Linux distant

Avec la clé publique maintenant enregistrée sur l'hôte distant, nous pouvons maintenant nous connecter à l'hôte distant sans authentification par mot de passe SSH. Pour tester cela, nous allons essayer de nous connecter normalement à l'hôte distant.

$ ssh [email protected]

À partir de la sortie, vous pouvez voir que nous sommes immédiatement passés au shell du système distant. Cela confirme que nous avons configuré avec succès SSH Authentification sans mot de passe.

Confirmez maintenant que la clé publique est enregistrée dans les authorized_keys fichier sur l'hôte distant.

$ ls -la ~/.ssh/

Pour afficher le fichier, utilisez la commande cat comme suit.

$ cat ~/.ssh/authorized_keys 

Désactiver l'authentification par mot de passe SSH

Nous n'avons pas encore terminé, l'authentification par mot de passe est toujours activée et cela peut potentiellement soumettre le serveur ou l'hôte distant à des attaques par force brute.

Pour éliminer ce vecteur d'attaque, il est fortement conseillé de désactiver l'authentification par mot de passe. Cela garantit que la connexion n'est possible que via une paire de clés SSH. Pour ce faire, ouvrez le sshd_config fichier qui est le fichier de configuration SSH principal.

$ sudo vim /etc/ssh/sshd_config

Localisez le PasswordAuthentication directif. S'il est commenté, décommentez-le et définissez-le sur "non" .

PasswordAuthentication no

Enregistrez les modifications et quittez le fichier.

Redémarrez ensuite SSH pour appliquer la modification apportée.

$ sudo systemctl restart sshd

Cela désactive avec succès l'authentification par mot de passe et seuls les utilisateurs disposant de la clé SSH privée peuvent se connecter.

À ce stade, l'authentification par mot de passe SSH a été désactivée sur le serveur distant et le seul moyen possible d'accéder au serveur distant est via la clé publique authentification.

Nous avons réussi à configurer des clés SSH sur Almalinux et est même allé de l'avant pour configurer l'authentification SSH sans mot de passe à l'aide d'une paire de clés SSH. Nous avons en outre désactivé l'authentification par mot de passe pour éviter les attaques par force brute.


AlmaLinux
  1. Comment configurer la connexion SSH sans mot de passe

  2. Comment configurer une connexion SSH sans mot de passe sous Linux

  3. Comment configurer les clés SSH pour une connexion ssh "sans mot de passe" sous Linux

  4. Comment fonctionne SSH sans mot de passe sous Linux / UNIX

  5. Comment configurer les clés SSH pour une connexion SSH « sans mot de passe » sur CentOS/RHEL

Comment configurer l'authentification SSH sans mot de passe sous Linux

Comment configurer une connexion SSH sans mot de passe à l'aide de ssh-keygen ?

Comment configurer la connexion sans mot de passe SSH dans Rocky Linux

Configurer la connexion SSH sans mot de passe pour plusieurs serveurs distants à l'aide d'un script

Comment configurer l'authentification basée sur la clé Ssh pour Github en utilisant le fichier ~/.ssh/config ?

Connexion SSH sans mot de passe en 3 étapes simples