Automatiser la connexion SSH sans mot de passe

Automatiser la connexion SSH sans mot de passe
Si vous souhaitez effectuer des tâches sur une machine distante à l'aide de SSH, vous devrez activer les connexions SSH automatiques pour éliminer la nécessité de saisir un mot de passe dans chaque cas. Cela peut être incroyablement utile si vous appelez SSH à partir d'une commande shell.

Dans ce tutoriel, vous apprendrez à implémenter les connexions SSH sans mot de passe en trois étapes simples.

Qu'est-ce que SSH?

Secure Shell, communément appelé SSH, est un protocole réseau utilisé pour les connexions sécurisées entre un client et un serveur distant. Il s'agit d'un service cryptographique qui permet aux utilisateurs de se connecter et de gérer les machines à distance. Par défaut, il utilise un nom d'utilisateur et une authentification de mot de passe.

Comment activer la connexion sans mot de passe SSH

La configuration d'une connexion SSH sans mot de passe automatisée dans Linux est très simple. Tout ce dont vous avez besoin est de générer une clé publique et de la copier à l'hôte distant.

Les étapes fournies ci-dessous décrivent le processus de création et de copie de la clé publique de l'hôte distant.

Étape 1. Générer une nouvelle clé SSH

Pour générer une nouvelle paire de clés SSH, utilisez la commande fournie ci-dessous:

ssh-keygen

Cela générera de manière interactive une clé publique et privée que vous pouvez utiliser pour authentifier SSH.

La sortie sera similaire à celle ci-dessous:

[centos @ centos8 ~] $ ssh-keygen
Génération de paires de clés RSA publiques / privées.
Entrez le fichier dans lequel sauver la clé (/ home / centos /.ssh / id_rsa):
Entrez en phrase de passe (vide pour aucune phrase de passe):
Entrez à nouveau la même phrase de passe:
Votre identification a été enregistrée dans id_rsa.
Votre clé publique a été enregistrée dans id_rsa.pub.
L'empreinte clés est:
Sha256: gkjd1befh00o4tp2xd7vpbibjabc7cjzsgxjdlxgcss centos @ centos8.linuxvMimages.local
L'image au hasard de la clé est:
+---[RSA 3072]----+
| O + B.+O + O .|
| . o.= ob o.O… O |
| + o.ob = x + o |
| . o = + o * o . + |
|… + E s + . |
|… |
| |
| |
| |
+----[SHA256]-----+
[Centos @ Centos8 ~] $

NOTE: Vous pouvez créer une paire de touches SSH sans phrase de passe en appuyant sur Entrée pendant le processus de création.

Si vous recherchez une sécurité maximale, assurez-vous de définir une phrase secrète. Pour les connexions automatisées, sautez simplement la phrase secrète.

Étape 2. Vérifiez la clé SSH

Pour vérifier que la paire de clés SSH a généré avec succès, vous pouvez répertorier les fichiers dans le ~ /.Répertoire SSH comme indiqué:

$ ls -la ~ /.ssh

Cela répertorie la clé privée et publique comme indiqué:

drwx------. 2 centos centos 38 mai 17 01:14 .
drwx------. 17 Centos Centos 4096 17 mai 01: 14…
-rw-------. 1 Centos Centos 2635 MAI 17 01:14 ID_RSA
-rw-r - r--. 1 Centos Centos 588 17 mai 01:14 ID_RSA.pub

Étape 3. Copier la clé publique à l'hôte distant

Avec la paire de clés SSH à portée de main, nous devons le copier à l'hôte distant. Ainsi, vous connecter sans mot de passe.

La façon la plus simple de copier votre clé publique à l'hôte distant est d'utiliser la commande ssh-copy-id en tant que:

Nom d'utilisateur SSH-Copy-ID @ Remote_ip_address

Cela authentifiera le nom d'utilisateur défini et ajoutera la clé publique du fichier autorisé_keys dans l'hôte distant.

Une fois la touche téléchargée, vous pouvez vous connecter à l'hôte distant à l'aide de la commande:

Nom d'utilisateur SSH @ Remote_host

Cela se connectera automatiquement sans nécessiter de mot de passe.

NOTE: Assurez-vous que vous avez votre paire de clés privées pour vous connecter avec succès.

Conclusion

Ce tutoriel vous a montré comment configurer une connexion sans mot de passe SSH à l'aide de paires de clés. Cela vous permet d'automatiser les tâches et de gérer plusieurs hôtes distants.