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

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

SSH est un protocole client et serveur, et il nous aide à accéder en toute sécurité au système distant sur le réseau via le tunnel crypté. SSH dispose d'un mécanisme de transfert de fichiers intégré (SCP) pour transférer des fichiers et des répertoires sur le réseau, et il est bien plus sécurisé que FTP (File Transfer Protocol).

Dans les grands environnements, il est pénible de saisir le mot de passe à chaque fois pour accéder aux machines distantes. Ainsi, pour faciliter la connexion, nous pouvons utiliser la fonction SSH sans mot de passe pour accéder à la machine distante sans entrer le mot de passe.

Ici, nous verrons comment configurer la connexion sans mot de passe SSH sur CentOS 8 / RHEL 8.

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.0.10 raj CentOS 8 / RHEL 8 Machine source
client.itzgeek.local 192.168.0.20 bélier CentOS 8 / RHEL 8 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 8

Pour activer la connexion SSH sans mot de passe, nous devons placer la clé publique de la machine locale dans le fichier ~/.ssh/authorized_keys de la machine distante (~ 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 façons.

  1. Utilisation de la commande ssh-copy-id
  2. Copier les clés manuellement

Utilisation de la commande ssh-copy-id

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 (ssh-copy-id).

La commande ssh-copy-id ajoute la clé publique SSH générée aux clés existantes dans le fichier ~/.ssh/authorized_keys sur la destination. Si le fichier ~/.ssh/authorized_keys n'est pas présent sur la machine de destination, la commande le créera et placera la clé publique SSH.

Générer la clé publique

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):
Created directory '/home/raj/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
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:8BuI21rECULGQMs3BtU2o3jHyHghg+p5RE8naQTQP2A [email protected]
The key's randomart image is:
+---[RSA 2048]----+
|+**o+..          |
|o=+E X .         |
|.oX+& *          |
|.ooO.X =         |
|. = o * S        |
| o . +   o       |
|  . . 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 (clé publique) pour la connexion SSH sans mot de passe.

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

Sortie :

total 8
drwx------. 2 raj raj   38 Nov  7 21:50 .
drwx------. 3 raj raj   74 Nov  7 21:50 ..
-rw-------. 1 raj raj 1831 Nov  7 21:50 id_rsa
-rw-r--r--. 1 raj raj  406 Nov  7 21:50 id_rsa.pub

Copier la clé publique

Utilisez la commande ssh-copy-id fournie avec le package openssh-clients avec un fichier d'entrée id_rsa.pub.

[raj@server ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

Sortie :

/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/raj/.ssh/id_rsa.pub"
The authenticity of host 'client.itzgeek.local (192.168.0.20)' can't be established.
ECDSA key fingerprint is SHA256:z4TLSbno9MLNF1ucNq4gtMlLQDVgrfLKEt8JguchKdo.
Are you sure you want to continue connecting (yes/no)? yes
/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:

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.

Copier les clés manuellement

Générer la clé publique

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):
Created directory '/home/raj/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
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:8BuI21rECULGQMs3BtU2o3jHyHghg+p5RE8naQTQP2A [email protected]
The key's randomart image is:
+---[RSA 2048]----+
|+**o+..          |
|o=+E X .         |
|.oX+& *          |
|.ooO.X =         |
|. = o * S        |
| o . +   o       |
|  . . 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 (clé publique) pour la connexion SSH sans mot de passe.

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

Sortie :

total 8
drwx------. 2 raj raj   38 Nov  7 21:50 .
drwx------. 3 raj raj   74 Nov  7 21:50 ..
-rw-------. 1 raj raj 1831 Nov  7 21:50 id_rsa
-rw-r--r--. 1 raj raj  406 Nov  7 21:50 id_rsa.pub

Copier la clé publique

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 le fichier ~/.ssh/authorized_keys de la machine de destination.
Méthode 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 la commande scp pour copier id_rsa.pub dans le répertoire /tmp de la machine de destination.

[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é publique 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 2

Connectez-vous à la machine de destination et créez un 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.

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

Sortie : (Exemple)

Copiez le contenu et collez-le 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 à l'aide de la commande ssh.

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

Maintenant, vous devriez pouvoir accéder à la machine distante sans le mot de passe.

Conclusion

C'est tout. J'espère que vous êtes en mesure de configurer la connexion sans mot de passe SSH sur CentOS 8 / RHEL 8. 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 la connexion sans mot de passe SSH sur CentOS 7 / RHEL 7

Comment configurer un Chef 12 sur CentOS 7 / RHEL 7

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

Comment configurer la connexion SSH sans mot de passe dans AlmaLinux