GNU/Linux >> Tutoriels Linux >  >> Linux

Comment configurer une connexion SSH sans mot de passe

Présentation

SSH (Secure Shell) permet des connexions distantes sécurisées entre deux systèmes. Avec ce protocole cryptographique, vous pouvez gérer des machines, copier ou déplacer des fichiers sur un serveur distant via des canaux cryptés.

Il existe deux façons de se connecter à un système distant via SSH - en utilisant l'authentification par mot de passe ou authentification par clé publique (connexion SSH sans mot de passe).

Dans ce didacticiel, vous découvrirez comment configurer et activer la connexion SSH sans mot de passe.

Prérequis

  • Accès à la ligne de commande/à la fenêtre du terminal
  • Utilisateur avec sudo ouracine privilèges
  • Un serveur local et un serveur distant
  • Accès SSH à un serveur distant via la ligne de commande/la fenêtre du terminal

Avant de commencer :vérifiez les clés SSH existantes

Vous avez peut-être déjà généré une paire de clés SSH sur votre machine. Pour voir si vous avez des clés SSH sur le système, exécutez la commande :

ls -al ~/.ssh/id_*.pub

Si la sortie vous indique qu'il n'y a pas de tels fichiers, passez à l'étape suivante, qui vous montre comment générer des clés SSH.

Si vous en avez, vous pouvez utiliser les clés existantes, les sauvegarder et créer une nouvelle paire ou la remplacer.

Étape 1 :Générer une paire de clés SSH

1. La première chose que vous devez faire est de générer une paire de clés SSH sur la machine sur laquelle vous travaillez actuellement.

Dans cet exemple, nous générons une paire de clés de 4096 bits. Nous ajoutons également une adresse e-mail, mais cela est facultatif. La commande est :

ssh-keygen -t rsa -b 4096 -C "[email protected]"

2. Ensuite, saisissez l'emplacement où vous souhaitez stocker les clés ou appuyez sur Entrée pour accepter le chemin par défaut.

3. Il vous demande également de définir une phrase secrète. Bien que cela rende la connexion encore plus sécurisée, elle peut s'interrompre lors de la mise en place de processus automatisés. Par conséquent, vous pouvez saisir une phrase secrète ou simplement appuyer sur Entrée pour ignorer cette étape.

4. La sortie vous indique ensuite où elle a stocké l'identification et la clé publique et vous donne l'empreinte digitale de la clé.

5. Vérifiez que vous avez créé avec succès la paire de clés SSH en exécutant la commande :

ls -al ~/.ssh/id_*.pub

Vous devriez voir le chemin de la clé d'identification et de la clé publique, comme dans l'image ci-dessous :

Étape 2 :Télécharger la clé publique sur le serveur distant

Vous pouvez télécharger la clé SSH publique sur un serveur distant avec le ssh-copy-id commande ou le cat commande. Vous trouverez ci-dessous les deux options.

Option 1 :Télécharger la clé publique à l'aide de la commande ssh-copy-id

Pour activer l'accès sans mot de passe, vous devez télécharger une copie de la clé publique sur le serveur distant.

1. Connectez-vous au serveur distant et utilisez le ssh-copy-id commande :

ssh-copy-ide [remote_username]@[server_ip_address]

2. La clé publique est ensuite automatiquement copiée dans le fichier .ssh/authorized_keys fichier.

Option 2 :Télécharger la clé publique à l'aide de la commande cat

Une autre façon de copier la clé publique sur le serveur consiste à utiliser le cat commande.

1. Commencez par vous connecter au serveur et créez un .ssh répertoire dessus.

ssh [remote_username]@[server_ip_address] mkdir -p .ssh

2. Saisissez ensuite le mot de passe de l'utilisateur distant.

3. Vous pouvez maintenant télécharger la clé publique de la machine locale vers le serveur distant. La commande spécifie également que la clé sera stockée sous le nom authorized_keys dans le nouveau fichier .ssh répertoire :

cat .ssh/id_rsa.pub | ssh [remote_username]@[server_ip_address] 'cat >> .ssh/authorized_keys'

Étape 3 :Connectez-vous au serveur sans mot de passe

Avec la paire de clés SSH générée et la clé publique téléchargée sur le serveur distant, vous devriez maintenant pouvoir vous connecter à votre serveur dédié sans fournir de mot de passe.

Vérifiez si la configuration fonctionne en exécutant la commande :

ssh [remote_username]@[server_ip_address]

Le système devrait vous connecter directement au serveur distant, aucun mot de passe requis.

Facultatif :Dépannage des autorisations de fichiers du serveur distant

Les autorisations de fichiers sur le serveur distant peuvent entraîner des problèmes avec la connexion SSH sans mot de passe. Il s'agit d'un problème courant avec les anciennes versions de SSH.

Si vous êtes toujours invité à entrer un mot de passe après avoir suivi toutes les étapes, commencez par modifier les autorisations de fichiers sur le serveur distant.

  • Définir les autorisations 700 pour le .ssh répertoire.
  • Définissez les autorisations 640 pour .ssh/authorized_keys répertoire.

Modifiez les autorisations de fichier avec la commande suivante :

ssh [remote_username]@[server_ip_address] "chmod 700 .ssh; chmod 640 .ssh/authorized_keys"

Entrez votre mot de passe lorsque vous y êtes invité. Il n'y aura pas de sortie si l'action a réussi. Le problème devrait être résolu maintenant.


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

  2. Comment configurer des clés SSH

  3. Comment configurer des clés SSH sur Ubuntu 18.04

  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 7 / RHEL 7

Comment configurer la connexion sans mot de passe SSH sur CentOS 8 / RHEL 8

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

Connexion SSH sans mot de passe en 3 étapes simples