GNU/Linux >> Tutoriels Linux >  >> Debian

Configurer les clés SSH sur le système Debian 9 - Comment faire ?

SSH (Secure Shell) est un protocole crypté qui permet au système client de communiquer en toute sécurité avec un serveur. Vous pouvez vous connecter à votre système à distance, effectuer des tâches administratives et accéder aux fichiers. Communiquer avec le serveur à l'aide de clés SSH est un moyen plus sûr et plus pratique que l'authentification par mot de passe.

Chez LinuxAPT, dans le cadre de nos services de gestion de serveur, nous aidons régulièrement nos clients à effectuer des requêtes SSH associées.

Dans ce contexte, nous verrons comment créer des clés SSH sur le système Debian 9 et comment les copier sur le serveur de différentes manières.


Comment créer des clés SSH sur Debian ?

Avant d'effectuer cette procédure, assurez-vous que vous utilisez un utilisateur avec des privilèges sudo.

je. Pour commencer, nous allons créer une paire de clés sur le système client en utilisant la commande ci-dessous :

$ ssh-keygen

ii. Par défaut, ssh-keygen générera une paire de clés RSA 2048 bits. Si vous souhaitez créer une clé plus grande de 4096 bits, vous pouvez passer -b 4096 dans le drapeau comme ci-dessous :

$ ssh-keygen -t rsa -b 4096

Il devrait afficher une sortie comme ci-dessous :

Output
Generating public/private rsa key pair.
Enter file in which to save the key (/home/yourusername/.ssh/id_rsa):

iii. Appuyez sur la touche Entrée pour enregistrer les paires de clés dans le répertoire ./ssh ou vous pouvez spécifier l'emplacement selon votre choix.

Après cela, il vous sera demandé d'entrer une phrase de passe sécurisée comme ci-dessous. La phrase secrète ajoutera une couche de sécurité supplémentaire à vos clés. Il est facultatif, si vous ne souhaitez pas le définir, vous pouvez l'ignorer en appuyant simplement sur la touche Entrée.

Output
Enter passphrase (empty for no passphrase):

Ensuite, vous verrez la sortie comme suit :

Your identification has been saved in /home/yourusername/.ssh/id_rsa.
Your public key has been saved in /home/yourusername/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:+cxkUbcUyFc7jXMHnQNlm/2O8rj+yDyP5Rnt29ov8Bc [email protected]
The key's randomart image is:
+---[RSA 2048]----+
|           ..oB*o|
|           .ooo*B|
|          .  .+=*|
|         . .   o+|
|        S o     .|
|         *  .  E |
|          + .o+ +|
|           o.Oo=o|
|           .O=B=B|
+----[SHA256]-----+

Vous disposez maintenant de clés publiques et privées que vous pouvez utiliser pour vous authentifier auprès de votre serveur Debian.

iv. Vous pouvez également vérifier que vos fichiers sont générés ou non en tapant :

ls ~/.ssh/id_*

Il affichera une sortie comme celle-ci :

/home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pub


Comment copier la clé publique sur le serveur Debian ?

Maintenant, la prochaine étape consiste à placer la clé publique sur votre serveur Debian. Un moyen simple et rapide de copier public consiste à utiliser l'utilitaire ssh-copy-id.

Exécutez la commande ci-dessous :

$ ssh-copy-id username@server_ip_address

Il vous sera demandé de saisir un mot de passe pour votre nom d'utilisateur :

Output
username@server_ip_address's password:

Une fois l'utilisateur authentifié avec succès, la clé publique sera ajoutée au fichier ~/.ssh/authorized_keys sur l'utilisateur distant et la connexion sera déconnectée.

Output
Number of key(s) added: 1

Vous pouvez maintenant essayer de vous connecter à votre machine avec la commande ssh username@server_ip_address et vérifier que seules les clés ajoutées que vous souhaitez ajouter.

Si l'utilitaire ssh-copy-id n'est pas installé sur votre système local, vous pouvez utiliser la commande suivante pour copier la clé publique :

cat ~/.ssh/id_rsa.pub | ssh remote_username@server_ip_address "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

Assurez-vous que vous disposez d'un accès SSH basé sur un mot de passe à votre serveur, vous seul pouvez alors utiliser la méthode ci-dessus.


Comment se connecter au serveur à l'aide des clés SSH ?

Maintenant, vous devriez pouvoir vous connecter à la machine distante sans le mot de passe de l'utilisateur distant.

Vous pouvez essayer de vous connecter en utilisant la commande SSH :

$ ssh username@server_ip_address

Si vous vous connectez pour la première fois, il se peut que vous soyez invité comme suit.

Tapez oui et appuyez sur la touche Entrée pour continuer :

Output
The authenticity of host '192.168.27.18 (192.168.27.18)' can't be established.
ECDSA key fingerprint is ed:ed:f4:g9:66:ge:53:48:e1:55:00:fd:6d:d7:22:fe.
Are you sure you want to continue connecting (yes/no)? yes

Maintenant, si vous n'avez pas défini de phrase secrète pour vos clés, vous serez immédiatement connecté sans demander de phrase secrète. Sinon, il vous sera demandé d'entrer la phrase de passe. Après une authentification réussie, une nouvelle session shell ouvrira votre compte utilisateur sur le serveur Debian.


Comment désactiver l'authentification par mot de passe SSH ?

Vous pouvez ajouter une couche de sécurité supplémentaire en désactivant l'authentification par mot de passe pour SSH. Avant de commencer le processus, assurez-vous que vous pouvez vous authentifier sur votre serveur sans entrer de mot de passe et que vous devez avoir un compte utilisateur activé sudo.

je. Connectons-nous à votre serveur en utilisant ssh :

$ ssh username@server_ip_address

ii. Modifiez maintenant le fichier de configuration SSH situé dans /etc/ssh/sshd_config :

$ sudo nano /etc/ssh/sshd_config

iii. Trouvez la directive PasswordAuthentication et si la ligne est commentée, décommentez la ligne et définissez la valeur sur "non" comme indiqué ci-dessous :

PasswordAuthentication no

iv. Enregistrez et fermez le fichier. Vous devez redémarrer le service SSH en utilisant la commande ci-dessous :

$ sudo systemctl restart ssh

Désormais, l'authentification par mot de passe est désactivée sur votre serveur Debian.



Debian
  1. Comment utiliser les clés SSH avec Plesk

  2. Comment configurer l'authentification basée sur une clé SSH sous Linux

  3. Comment configurer des clés SSH sur Ubuntu 16.04

  4. Configurer les paramètres régionaux du système sur Debian 9

  5. Comment configurer des clés SSH sur Debian

Comment configurer des clés SSH sur CentOS 8

Comment configurer des clés SSH sur CentOS 7

Comment configurer des clés SSH sur Debian 9

Comment configurer des clés SSH sur Debian 10

Comment configurer les clés SSH – Windows OS ?

Comment configurer des clés SSH sur Debian 11 Linux