Si vous gérez un serveur Linux, vous savez à quel point il peut être fastidieux de saisir votre mot de passe à chaque fois que vous vous connectez via SSH ou copiez des fichiers à l'aide de scp. Ce didacticiel présente l'utilisation de la clé SSH pour obtenir une connexion sans mot de passe SSH, et il n'est pas nécessaire de saisir un mot de passe lors de l'utilisation de scp pour copier des fichiers. En plus de faciliter la connexion SSH et la copie de fichiers SCP, la connexion sans mot de passe SSH ajoute également une autre ligne de sécurité au serveur Linux.

Étapes de configuration de la connexion sans mot de passe SSH

  1. Tout d’abord, nous générons une paire de clés SSH sur notre système Linux : clé SSH et clé publique SSH. La clé est conservée sur son propre système Linux.
  2. Ensuite, la clé publique est téléchargée sur le serveur Linux. Après cela, nous pouvons nous connecter via SSH sans mot de passe. Une clé SSH est comme votre preuve d'identité.

1 Générez des clés SSH et des clés publiques sur votre propre système Linux

Ouvrez un terminal et utilisez ssh-keygen ci-dessous pour générer la clé RSA et la clé publique. -t indique le type, ce qui signifie générer une clé de chiffrement RSA.

ssh-keygen -t rsa

RSA est également le type de cryptage par défaut. Vous pouvez donc également simplement saisir ssh-keygen. La longueur RSA par défaut est de 2 048 bits. Si vous êtes très soucieux de la sécurité, vous pouvez spécifier une longueur de 4 096 bits.

ssh-keygen -b 4096 -t rsa

Pendant le processus de génération de la clé SSH, il vous sera demandé de spécifier un fichier pour enregistrer la clé. Appuyez simplement sur Entrée pour utiliser le fichier par défaut. Ensuite, vous devez saisir un mot de passe pour crypter votre clé SSH. Le mot de passe doit comporter au moins 20 caractères. La clé SSH sera enregistrée dans le fichier .ssh/id_rsa dans le répertoire personnel. La clé publique SSH est enregistrée dans le fichier .ssh/id_rsa.pub.

Generating public/private rsa key pair.
Enter file in which to save the key (/home/matrix/.ssh/id_rsa):  按Enter键
Enter passphrase (empty for no passphrase):   输入一个密码
Enter same passphrase again:   再次输入密码
Your identification has been saved in /home/matrix/.ssh/id_rsa.
Your public key has been saved in /home/matrix/.ssh/id_rsa.pub.
The key fingerprint is:
e1:dc:ab:ae:b6:19:b0:19:74:d5:fe:57:3f:32:b4:d0 matrix@vivid
The key's randomart image is:
+---[RSA 4096]----+
| .. |
| . . |
| . . .. . |
| . . o o.. E .|
| o S ..o ...|
| = ..+...|
| o . . .o .|
| .o . |
| .++o |
+-----------------+

Si vous regardez le fichier .ssh/id_rsa, vous verrez que ce fichier est crypté. Autrement dit, il est crypté avec le mot de passe que vous avez saisi.

less .ssh/id_rsa

 

2Téléchargez la clé publique SSH sur le serveur Linux

Cela peut être fait à l'aide de la commande ssh-copy-id.

ssh-copy-id username@remote-server

 

Après avoir saisi le mot de passe de l'utilisateur distant, la clé publique SSH sera automatiquement téléchargée. La clé publique SSH est stockée dans le fichier .ssh/authorized_keys sur le serveur Linux distant.

Une fois le téléchargement terminé, vous n'avez pas besoin de saisir à nouveau le mot de passe pour la connexion SSH. Cependant, lorsque vous utilisez la clé SSH pour vous connecter pour la première fois, vous devez saisir une fois le mot de passe de cryptage de la clé SSH. (Vous ne devez le saisir qu'une seule fois et vous serez automatiquement connecté à l'avenir. Vous n'avez plus besoin de saisir le mot de passe de la clé.)

Il n'est pas nécessaire de saisir un mot de passe lors de l'utilisation de la commande scp pour transférer des fichiers.

Connaissances clés SSH

Le système Linux dispose d'un programme de gestion de trousseaux de clés. Le trousseau de clés est protégé par le mot de passe de connexion de l'utilisateur. Lorsque vous vous connectez au système Linux, le mot de passe du jeu de clés sera automatiquement déverrouillé, vous permettant d'accéder au jeu de clés. Les mots de passe des clés SSH peuvent également être stockés dans le trousseau de clés. Par conséquent, lorsque vous utilisez une clé SSH pour vous connecter pour la première fois à un serveur Linux distant, vous devez saisir une fois le mot de passe de la clé SSH. À l'avenir, vous n'aurez plus besoin de saisir un mot de passe pour vous connecter à l'aide d'une clé SSH. Le programme de porte-clés pour Ubuntu est Seahorse.

Une clé SSH est comme votre preuve d'identité. Le serveur Linux distant utilise la clé publique SSH que vous avez générée pour chiffrer un message, et seule votre clé SSH peut déchiffrer le message. Par conséquent, si d’autres personnes ne disposent pas de votre clé SSH, ils ne pourront pas déchiffrer le message crypté et ne pourront donc pas se connecter à votre serveur Linux.

Configurer la connexion sans mot de passe SSH est aussi simple que cela.

Laisser une réponse