Maison  >  Article  >  Opération et maintenance  >  Comment définir un mot de passe SSH sous Linux pour une connexion sans mot de passe

Comment définir un mot de passe SSH sous Linux pour une connexion sans mot de passe

不言
不言original
2019-03-14 14:34:503857parcourir

Cet article présentera la configuration de la clé ssh sur le système Linux. Dans un système Linux utilisant une paire de clés ssh, on peut aussi dire qu'il s'agit d'un ssh sans mot de passe.

Comment définir un mot de passe SSH sous Linux pour une connexion sans mot de passe

ssh (shell sécurisé) est largement utilisé pour se connecter à distance aux serveurs Linux. Lorsque nous nous connectons au système distant à l'aide de ssh, il nous demande un mot de passe et nous permet ensuite uniquement de nous connecter au serveur. Parfois, nous devons configurer des applications ou des scripts (principalement des scripts shell) pour automatiser les tâches à effectuer après avoir connecté un système distant à un système distant. Cependant, si nous ne configurons pas SSH basé sur une clé, le script vous demandera un mot de passe à chaque exécution et nous devrons saisir le mot de passe manuellement. Pour résoudre ce problème, on peut choisir d’utiliser la notion de clé publique/clé privée. Où le serveur distant permet à d'autres systèmes de ssh en fonction de la clé.

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

Tout d'abord, vous devez générer une paire de clés (rsa ou dsa), vous pouvez utiliser " - t" commutateur de ligne de commande pour spécifier l'option rsa ou la clé dsa. Si vous ne transmettez pas le paramètre -t, cela créera une clé RSA par défaut.

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/rahul/.ssh/id_rsa):
Created directory '/home/rahul/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/rahul/.ssh/id_rsa.
Your public key has been saved in /home/rahul/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:GZQ3tJffEUimdMZHIG3LcpvdkOaogwXBtWeaM2ejzYY rahul@tecadmin
The key's randomart image is:
+---[RSA 2048]----+
|       ..+oo+*+o |
|       .+ +o** ..|
|        .oooB oo |
|        .o B =+..|
|        S.= *+=.o|
|          .X.+...|
|         oE.+    |
|        . o.     |
|           .     |
+----[SHA256]-----+

La commande ci-dessus créera deux fichiers dans le répertoire ~/.ssh comme indiqué ci-dessous.

1. ~/.ssh/id_rsa [Clé privée]

2 ~/.ssh/id_rsa.pub [Clé publique]

Étape 2 : Copier la clé publique sur le système distant

Copions la clé publique du système dans le fichier de clé du système distant ~/.ssh/authorized_key. Nous pouvons le faire manuellement ou en utilisant l'outil de ligne de commande ssh-copy-id.

$ ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.10.20

Sortie :

21
root@192.168.10.20's password:
Now try logging into the machine, with "ssh '192.168.10.20'", and check in:
  .ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.

Il demandera le mot de passe du système distant. Saisissez le mot de passe de la machine distante et appuyez sur Entrée.

Étape 3 : Vérifiez SSH sans mot de passe

Maintenant que nous avons terminé, essayez simplement de vous connecter en SSH au système distant. Vous vous connecterez au système distant sans saisir de mot de passe.

$ ssh root@192.168.10.20

La commande ci-dessus ne demandera pas le mot de passe de connexion. Dans tous les cas, si la commande ssh demande un mot de passe, cela signifie que votre configuration n'est pas configurée correctement, veuillez réessayer toutes les étapes.

Cet article est terminé ici. Pour un contenu plus passionnant, vous pouvez prêter attention à d'autres tutoriels de colonnes connexes sur le site Web PHP chinois ! ! !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn