GNU/Linux >> Tutoriels Linux >  >> Linux

Comment configurer une connexion SSH sans mot de passe sous Linux avec des clés

Bonjour les geeks Linux, c'est toujours une bonne pratique que les systèmes Linux soient ssh avec des clés plutôt que le mot de passe. Les clés SSH (Secure Shell) nous offrent un moyen sécurisé de se connecter aux serveurs de type Linux et UNIX. Lorsque nous accédons à des systèmes Linux avec des clés SSH, cela s'appelle également une authentification SSH sans mot de passe.

Dans cet article, nous allons apprendre à configurer l'authentification SSH sans mot de passe avec des clés sous Linux.

Détails de la configuration de l'atelier :

  • Hôte de saut (Rocky Linux) - Client SSH - 192.168.1.135
  • Système Linux distant (Ubuntu 20.04) – 192.168.1.130

Plongeons-nous dans les étapes,

Étape 1) Générer des clés SSH sur l'hôte Jump à l'aide de la commande ssh-keygen

Connectez-vous pour sauter l'hôte, dans mon cas, j'utilise 'sysadm'. Exécutez la commande ssh-keyen pour générer des clés publiques et privées pour sysadm à l'aide de l'algorithme rsa

$ ssh-keygen -t rsa

Cette commande vous invitera à entrer le chemin des clés publiques et privées, si vous souhaitez conserver le chemin par défaut, appuyez sur Entrée et appuyez également sur Entrée lorsque vous êtes invité à définir la phrase secrète.

La sortie de la commande ssh-keygen ressemblerait à ci-dessous,

Remarque :Par défaut, la commande ssh-keygen génère des clés de taille 2048 bits. Si vous souhaitez modifier la taille des clés, utilisez l'option "-b" suivie de la taille en bits. L'exemple est montré ci-dessous,

$ ssh-keygen -t rsa -b 4096

Étape 2) Copiez la clé publique de l'utilisateur sur le système Linux distant

Utilisez la commande 'ssh-copy-id' pour copier la clé publique de l'utilisateur dans le fichier authorized_keys de l'utilisateur du système Linux distant.

Syntaxe :ssh-copy-id @

$ ssh-copy-id [email protected]

Sortie

Étape 3) Testez l'authentification SSH sans mot de passe

Essayez maintenant de vous connecter en ssh au système distant à partir de l'hôte de saut.

$ ssh [email protected]

Sortie,

Parfait, la sortie ci-dessus confirme que nous pouvons nous connecter au système distant sans spécifier de mot de passe.

Voici les points importants à prendre en compte lors de la configuration de l'authentification sans mot de passe.

  • Une fois les clés échangées et testées, nous devons désactiver la connexion root et l'authentification par mot de passe pour root et les autres utilisateurs.

Pour ce faire, modifiez le fichier "/etc/ssh/sshd_config" et définissez les paramètres suivants.

PermitRootLogin no
PubkeyAuthentication yes
PasswordAuthentication no
UsePAM yes

Enregistrez et quittez le fichier et redémarrez le service ssh en utilisant la commande systemctl ci-dessous.

$ sudo systemctl restart sshd
  • Un autre point important est que l'utilisateur distant, dans notre cas "kadmin", doit faire partie du groupe sudo et avoir des droits d'administrateur afin qu'il puisse effectuer des tâches administratives.

C'est tout de cet article, j'espère que vous l'avez trouvé informatif, veuillez déposer vos questions et commentaires dans la section des commentaires ci-dessous.

Lire aussi : 10 exemples de commandes iftop sous Linux


Linux
  1. Comment configurer les clés SSH sur CentOS 8

  2. Comment désactiver la connexion SSH avec un mot de passe

  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 configurer la connexion sans mot de passe SSH sur CentOS 8 / RHEL 8

Comment configurer le pare-feu avec UFW sous Linux

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 sans mot de passe SSH dans Rocky Linux

Comment configurer la connexion SSH sans mot de passe dans AlmaLinux