GNU/Linux >> Tutoriels Linux >  >> Linux

Connexion SSH sans mot de passe en 3 étapes simples

SSH (shell sécurisé) est un protocole réseau open source sécurisé qui permet aux utilisateurs de se connecter en toute sécurité à des systèmes Linux distants et à d'autres périphériques réseau. De plus, le protocole est utilisé pour le transfert de fichiers entre les systèmes Linux à l'aide du protocole de copie sécurisée (SCP) .

Habituellement, SSH demande aux utilisateurs des mots de passe avant de se connecter. Cependant, vous pouvez configurer la connexion SSH sans mot de passe à un autre système Linux distant à partir de votre système Linux. Cela améliore la confiance et s'avère pratique dans les tâches cron qui nécessitent une sauvegarde de fichiers à distance à l'aide du protocole SCP.

Dans ce guide, vous apprendrez à configurer une connexion SSH sans mot de passe à l'aide de clés ssh pour accroître la confiance entre deux serveurs.

Configurer l'environnement


ssh client      : 66.152.163.19 (Ubuntu 18.04)

ssh remote Host : 173.82.2.236  (CentOS 7)

Générer des clés SSH sur le système client ( 66.152.163.19 )

La première étape de la configuration d'une connexion sans mot de passe consiste à générer des clés d'authentification ssh dans le système client. Les clés SSH sont des clés numériques qui créent la confiance entre les systèmes Linux.

Pour générer les clés ssh, exécutez la commande.

$ ssh-keygen

Vous serez invité à indiquer le fichier dans lequel enregistrer la clé. Appuyez sur "Entrée" pour enregistrer dans le répertoire d'emplacement par défaut (/root/.ssh)

Enter file in which to save the key (/home/user/.ssh/id_rsa):

Appuyez sur Entrée.

Ensuite, vous serez invité à saisir une phrase de passe. Nous mettons en place une connexion sans mot de passe, appuyez deux fois sur "Entrée" pour ignorer.


Enter passphrase (empty for no passphrase):
Enter same passphrase again:

Appuyez sur "Entrée" à chaque fois.

La sortie complète est présentée ci-dessous.

Exemple de sortie

Le ssh-keygen La commande génère à la fois des clés ssh publiques et privées et les stocke dans /root/.ssh répertoire.

Pour vérifier l'exécution :

ls /root/.ssh

Exemple de sortie

La clé publique est désignée par id_rsa.pub .

La clé privée est désignée par id_rsa .

Copier la clé publique ssh sur le système distant (173.82.2.236)

L'étape suivante consiste à copier la clé publique sur le serveur Linux distant. Ceci sera réalisé en utilisant le ssh-copy-id commande comme indiqué ci-dessous.

ssh-copy-id remote_username@server_ip_address

Dans notre exemple, la commande sera :

ssh-copy-id [email protected]

Il vous sera demandé si vous êtes sûr de vouloir continuer à vous connecter. Tapez yes et appuyez sur "Entrée"

The authenticity of host '173.82.2.236 (173.82.2.236)' can't be established.
ECDSA key fingerprint is SHA256:U4aOk0p30sFjv1rzgh73uhGilwJ2xtG205QFqzB9sns.
Are you sure you want to continue connecting (yes/no)? yes

Ensuite, vous serez invité à entrer le mot de passe du système distant. Tapez le mot de passe et appuyez sur "Entrée"

[email protected]'s password:

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh '[email protected]'"
and check to make sure that only the key(s) you wanted were added.

La sortie complète est présentée ci-dessous.

La clé publique ssh sera enregistrée dans /root/.ssh/authorized_keys fichier sur le système distant.

Connexion au système distant

Après avoir copié la clé ssh publique sur le système distant, vous pouvez maintenant vous connecter sans être invité à saisir un mot de passe, comme indiqué.

ssh server-ip-address

Dans notre cas, ce sera :

ssh 173.82.2.236

Et c'est ainsi que vous configurez une configuration SSH sans mot de passe d'un système Linux client vers un serveur Linux distant.

  • Supprimez la clé publique du système client. Si vous pensez que la clé privée est compromise, supprimez la clé publique du serveur distant et configurez-la à nouveau.
  • La commande SSH ci-dessus fonctionne sans donner d'identifiant d'utilisateur car nous utilisons l'utilisateur root sur les deux serveurs. Si vous avez configuré une connexion sans mot de passe pour un autre utilisateur, veuillez également l'indiquer dans la commande SSH.

Linux
  1. Connexion SSH au serveur RHEL 7 sans mot de passe

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

  3. Comment utiliser la commande ssh-keygen pour configurer ssh sans mot de passe

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

  5. Comment éviter que ssh ne demande la phrase secrète de la clé pour les connexions sans mot de passe

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

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

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

Générer des clés SSH pour une connexion sans mot de passe dans Ubuntu