GNU/Linux >> Tutoriels Linux >  >> Rocky Linux

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

SSH les clés sont des clés cryptographiques utilisées pour authentifier et sécuriser le trafic ou la communication entre deux serveurs ou systèmes. Ils fournissent une méthode d'authentification plus sécurisée par opposition à l'authentification par mot de passe traditionnelle qui est sujette aux attaques par force brute.

Dans ce didacticiel, nous vous expliquerons comment configurer des clés SSH sur Rocky Linux .

Créer une paire de clés RSA SSH dans Rocky Linux

Pour commencer à créer un RSA paire de clés sur notre système local, exécutez la commande suivante :

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

Par défaut, cela crée un RSA 2048 bits paire de clés considérée comme suffisamment sécurisée pour chiffrer le trafic entre le client et l'hôte distant.

Facultativement, vous pouvez créer un 4096-bit paire de clés plus grande et plus sécurisée en passant le -b comme suit :

$ ssh-keygen -b 4096

Après avoir exécuté le ssh-keygen commande, une série d'invites suivra. Il vous sera d'abord demandé de fournir le fichier dans lequel les clés seront enregistrées. Par défaut, les clés sont enregistrées dans le ~/.ssh répertoire sur votre répertoire personnel. Vous pouvez définir votre fichier personnalisé, mais dans cette illustration, nous utiliserons les valeurs par défaut

Alors, appuyez sur ENTER pour enregistrer les clés dans le ~/.ssh répertoire sur votre répertoire personnel.

Si des clés SSH existent déjà, vous obtiendrez l'invite suivante et vous serez invité à l'écraser. Faites preuve de prudence ici. L'écrasement des clés signifie que l'authentification ne sera pas possible avec les clés précédentes. Sélection "Oui" détruit les clés actuelles et en génère de nouvelles.

Ensuite, vous serez alors invité à saisir une phrase de passe. Il s'agit d'une étape facultative qui fournit une couche de protection supplémentaire pour empêcher les utilisateurs non autorisés d'utiliser les clés pour l'authentification. Cependant, vous pouvez laisser ce champ vide si votre intention est de configurer l'authentification SSH sans mot de passe entre votre système local et d'autres hôtes distants.

Pour l'instant, nous allons laisser ce champ vide et appuyer sur ENTER .

Enfin, la paire de clés SSH (public et privé keys) seront enregistrés sur votre système local sur le chemin spécifié. Il s'agit de la sortie générée après l'exécution réussie de la commande.

Avec les options par défaut, le SSH les clés sont enregistrées dans le ~/.ssh répertoire à l'intérieur de votre répertoire personnel. Pour le confirmer, lancez la commande :

$ ls -la ~/.ssh
  • Le id_rsa est la clé privée et doit être gardée secrète et confidentielle. La divulguer peut entraîner une grave violation de votre serveur distant.
  • Le id_rsa.pub est la clé publique et elle est enregistrée sur l'hôte distant auquel vous souhaitez vous connecter.

Avec le SSH clés créées avec succès, la prochaine étape consistera à enregistrer le Public clé au système distant prêt pour l'authentification.

Copier la clé publique SSH sur le serveur Linux distant

Le ssh-copy-id La commande fournit un moyen simple et pratique de copier la clé SSH publique sur un hôte distant. Il prend la syntaxe suivante :

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

Nous avons un système distant avec un utilisateur régulier appelé bob déjà configuré. Pour copier la clé SSH publique, exécutez la commande :

$ ssh-copy-id [email protected]

Si vous vous connectez à l'hôte pour la première fois, vous verrez la sortie suivante. Pour continuer, tapez ‘yes’ et appuyez sur ENTER pour continuer.

La commande sonde votre système local pour la clé publique id_rsa.pub et une fois qu'il établit sa présence, il vous demande le mot de passe de l'utilisateur distant.

Tapez le mot de passe et appuyez sur ENTER . La clé publique est copiée sur l'hôte distant dans le ~/.ssh/authorized_keys dossier. Nous y reviendrons plus tard.

Sur votre système local, le ~/.ssh/known_hosts fichier est créé. Il s'agit d'un fichier contenant les empreintes digitales SSH des hôtes distants auxquels vous vous êtes connecté.

Pour afficher le fichier, exécutez simplement la commande :

$ cat ~/.ssh/known_hosts

Connexion à Linux distant sans mot de passe

À ce stade, vous devriez pouvoir vous connecter à l'hôte distant sans mot de passe. Pour essayer, essayez de vous connecter normalement comme vous le feriez.

$ ssh [email protected]

Cette fois-ci, vous serez immédiatement déposé sur le shell de l'hôte distant.

Comme nous l'avons mentionné précédemment, la clé publique est enregistrée dans les authorized_keys fichier sur l'hôte distant. Vous pouvez le confirmer comme indiqué.

$ 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

Le SSH l'authentification par clé publique a été configurée avec succès. Cependant, l'authentification par mot de passe est toujours active, ce qui rend votre hôte distant vulnérable aux attaques par force brute.

En tant que tel, il est fortement recommandé de désactiver l'authentification par mot de passe. Reconnectez-vous maintenant à l'hôte distant en utilisant l'utilisateur root ou sudo. Ouvrez ensuite le sshd_config fichier de configuration.

$ sudo vim /etc/ssh/sshd_config

Faites défiler vers le bas et localisez PasswordAuthentication directif. S'il est commenté, décommentez-le et définissez-le sur 'no' .

PasswordAuthentication no

Enregistrez les modifications et quittez le fichier.

Pour appliquer les modifications apportées, redémarrez le sshd démon comme indiqué.

$ sudo systemctl restart sshd

À 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 l'authentification par clé publique.

Nous avons configuré avec succès SSH authentification basée sur une clé sur l'hôte distant qui vous permet de vous connecter sans mot de passe. C'est le moyen le plus sûr de se connecter à des hôtes distants à condition que la clé privée reste confidentielle et secrète.


Rocky Linux
  1. Comment configurer la connexion SSH sans mot de passe

  2. Comment configurer les clés SSH sur CentOS 8

  3. Comment configurer SSH sans mot de passe sous Linux

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

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

Comment installer Rocky Linux 8.4

Comment configurer l'authentification multifacteur pour SSH sous Linux

Comment désactiver la connexion SSH à un utilisateur spécifique sous Linux

Comment configurer la connexion SSH sans mot de passe dans AlmaLinux

Comment activer le service SSH sur Rocky Linux 8 / CentOS 8

Comment configurer des clés SSH sur Debian 11 Linux