GNU/Linux >> Tutoriels Linux >  >> Cent OS

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

SSH est un protocole client et serveur, et il nous aide à accéder au système distant sur le réseau via le tunnel crypté. Chaque fois que la machine cliente accède au serveur exécutant SSH, le client télécharge la clé sécurisée à partir du serveur et, en même temps, le serveur télécharge également la clé à partir du client. Ces deux clés constituent le tunnel crypté entre le serveur et le client, de sorte que les données sont transférées de manière très sécurisée sur le réseau.

Si l'organisation dispose d'un grand nombre de serveurs, l'administrateur doit à chaque fois entrer le mot de passe pour accéder au système distant. C'est pénible d'entrer le mot de passe plusieurs fois; SSH est livré avec une nouvelle fonctionnalité appelée connexion sans mot de passe, qui permet d'accéder à la machine distante sans entrer le mot de passe.

Hypothèses

Ici, nous avons deux machines avec deux noms d'utilisateur différents.

Nom d'hôte Adresse IP Utilisateur SE Objectif
server.itzgeek.local 192.168.1.10 raj CentOS 7 / RHEL 7 Machine source
client.itzgeek.local 192.168.1.20 bélier CentOS 7 / RHEL 7 Machine de destination

Ici, j'utiliserai un nom d'hôte au lieu d'une adresse IP.

Suivez les étapes pour créer la connexion sans mot de passe.

Configurer la connexion sans mot de passe SSH sur CentOS 7

Pour activer la connexion sans mot de passe, nous devons placer la clé publique de la machine cliente dans le fichier ~/.ssh/authorized_keys du serveur (~ représente le répertoire personnel de l'utilisateur).

Nous pouvons configurer une connexion SSH sans mot de passe de deux manières. Choisissez l'une des méthodes.

  1. Automatique :(recommandé)
  2. Manuel

Méthode 1 :(Automatique)

Cette méthode consiste à générer une paire de clés SSH sur la machine source et à la placer sur la machine de destination avec une seule commande.

Connectez-vous à la machine source et créez une paire de clés SSH à l'aide de la commande ssh-keygen suivante.

[raj@server ~]$ ssh-keygen

Sortie :

Generating public/private rsa key pair.
Enter file in which to save the key (/home/raj/.ssh/id_rsa):  << Press Enter
Created directory '/home/raj/.ssh'.
Enter passphrase (empty for no passphrase):  << Press Enter
Enter same passphrase again:  << Press Enter
Your identification has been saved in /home/raj/.ssh/id_rsa.
Your public key has been saved in /home/raj/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:0oqVhWQzIV+hFFHkquVCTihmORqtt+vXHIXhhXoIosI [email protected]
The key's randomart image is:
+---[RSA 2048]----+
|    . XB=.       |
|. .  *oB.        |
|o. . +++o        |
|oE..o +=.        |
|+=o o.*.S        |
|++.+ *.o         |
|o . =oo.         |
| . ...o          |
| .+o             |
+----[SHA256]-----+

Une fois que vous avez créé, vous trouverez deux fichiers id_rsa et id_rsa.pub dans le répertoire .ssh. Nous allons utiliser id_rsa.pub pour la connexion sans mot de passe.

[raj@server ~]$ ls -al ~/.ssh/

Sortie :

total 8
drwx------. 2 raj raj   38 Sep  6 00:37 .
drwx------. 3 raj raj   74 Sep  6 00:37 ..
-rw-------. 1 raj raj 1675 Sep  6 00:37 id_rsa
-rw-r–r–. 1 raj raj 406 Sep 6 00:37 id_rsa.pub

Utilisez la commande ssh-copy-id avec un fichier d'entrée id_rsa.pub.

[raj@server ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
La commande ssh-copy-id crée ~/.ssh/authorized_keys sur la machine de destination si le fichier ne le fait pas. Sinon, ssh-copy-id ajouterait la nouvelle clé aux clés existantes.

Sortie :

The authenticity of host 'client.itzgeek.local (192.168.1.20)' can't be established.
ECDSA key fingerprint is SHA256:sueTz6FURcKDbeyGkpE7lUHOaosW/rkkvlG18v98T7Y.
ECDSA key fingerprint is MD5:f7:39:52:7e:2e:a4:20:84:ff:d7:72:21:20:36:91:76.
Are you sure you want to continue connecting (yes/no)? yes << Type Yes and Press Enter
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]'s password: << Enter password of destination machine user (ram)

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.

Méthode 2 :(Manuel)

Cette méthode consiste à générer une paire de clés SSH sur la machine source et à la placer sur la machine de destination en s'y connectant manuellement.

Tout d'abord, connectez-vous à la machine source et créez une paire de clés SSH à l'aide de la commande suivante.

[raj@server ~]$ ssh-keygen

Sortie :

Generating public/private rsa key pair.
Enter file in which to save the key (/home/raj/.ssh/id_rsa):  << Press Enter
Created directory '/home/raj/.ssh'.
Enter passphrase (empty for no passphrase):  << Press Enter
Enter same passphrase again:  << Press Enter
Your identification has been saved in /home/raj/.ssh/id_rsa.
Your public key has been saved in /home/raj/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:0oqVhWQzIV+hFFHkquVCTihmORqtt+vXHIXhhXoIosI [email protected]
The key's randomart image is:
+---[RSA 2048]----+
|    . XB=.       |
|. .  *oB.        |
|o. . +++o        |
|oE..o +=.        |
|+=o o.*.S        |
|++.+ *.o         |
|o . =oo.         |
| . ...o          |
| .+o             |
+----[SHA256]-----+

Une fois que vous avez créé, vous trouverez deux fichiers id_rsa et id_rsa.pub dans le répertoire .ssh, nous allons utiliser id_rsa.pub pour la connexion sans mot de passe.

[raj@server ~]$ ls -al ~/.ssh/

Sortie :

total 8
drwx------. 2 raj raj   38 Sep  6 00:37 .
drwx------. 3 raj raj   74 Sep  6 00:37 ..
-rw-------. 1 raj raj 1675 Sep  6 00:37 id_rsa
-rw-r--r--. 1 raj raj 406 Sep 6 00:37 id_rsa.pub
Vous pouvez utiliser la commande scp pour copier id_rsa.pub vers la destination ou copier le contenu du fichier id_rsa.pub et le coller dans la machine de destination (fichier ~/.ssh/authorized_keys).

Méthode de copie : 1

Connectez-vous à la machine de destination et créez le répertoire .ssh dans le répertoire personnel de l'utilisateur, s'il n'existe pas.

[ram@client ~]$ mkdir ~/.ssh

[ram@client ~]$ chmod 700 ~/.ssh

Utilisez le scp commande pour copier le id_rsa.pub au /tmp de la machine de destination répertoire.

[raj@server ~]$ scp -pr  ~/.ssh/id_rsa.pub [email protected]:/tmp

Vous devrez entrer le mot de passe de la destination car nous n'avons pas encore configuré la connexion sans mot de passe.

Placez la clé source dans le fichier authorized_keys pour une connexion sans mot de passe.

[ram@client ~]$ cat /tmp/id_rsa.pub >> ~/.ssh/authorized_keys

Mettez à jour l'autorisation du fichier.

[ram@client ~]$ chmod 600 ~/.ssh/authorized_keys

Méthode de copie :2

Connectez-vous à la machine de destination et créez le répertoire .ssh dans le répertoire personnel de l'utilisateur, s'il n'existe pas.

[ram@client ~]$ mkdir ~/.ssh

[ram@client ~]$ chmod 700 ~/.ssh

Modifiez le fichier authorized_keys.

[ram@client ~]$ vi ~/.ssh/authorized_keys

Sur la machine source, affichez le contenu du fichier id_rsa.pub à l'aide de la commande cat. Copiez le contenu en le sélectionnant (en supposant que vous utilisez PUTTY).

[raj@server ~]$ cat ~/.ssh/id_rsa.pub

Sortie : (Exemple)

Placez le contenu ci-dessus dans le fichier authorized_keys sur la destination et enregistrez-le. Ensuite, mettez à jour l'autorisation du fichier.

[ram@client ~]$ chmod 600 ~/.ssh/authorized_keys

Tester la connexion sans mot de passe

Accédez maintenant à la machine distante en utilisant SSH. Il vous amènera directement au shell sans demander le mot de passe.

[raj@server ~]$ ssh [email protected]

[ram@client ~]$ uname -a

Conclusion

C'est tout. Cette connexion sans mot de passe fait gagner du temps et de l'énergie aux administrateurs système. Veuillez partager vos commentaires dans la section des commentaires.


Cent OS
  1. Comment configurer la connexion SSH sans mot de passe

  2. Connexion SSH sans mot de passe – CentOS 6 / RHEL 6

  3. Comment configurer le serveur SysLog sur CentOS 7 / RHEL 7

  4. Comment configurer le serveur NFS sur CentOS 7 / RHEL 7

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

Comment configurer Jenkins sur CentOS 8 / RHEL 8

Comment configurer Icinga Web 2 sur CentOS 8 / RHEL 8

Comment configurer un Chef 12 sur CentOS 7 / RHEL 7

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

Comment générer une clé SSH dans CentOS 8

Comment configurer la connexion SSH sans mot de passe dans AlmaLinux