GNU/Linux >> Tutoriels Linux >  >> Debian

Comment configurer des clés SSH sur Debian 10

Secure Shell (SSH) est un protocole de réseau cryptographique utilisé pour une connexion sécurisée entre un client et un serveur et prend en charge divers mécanismes d'authentification. La connexion cryptée peut être utilisée pour exécuter des commandes sur le serveur, la tunnellisation X11, la redirection de port, etc.

Le mot de passe et la clé publique sont les deux mécanismes d'authentification les plus courants.

L'authentification à l'aide d'une clé publique est basée sur l'utilisation de signatures numériques, et elle est plus sûre et plus pratique que l'authentification traditionnelle par mot de passe.

Cet article décrit comment générer des clés SSH sur les systèmes Debian 10. Nous vous montrerons également comment configurer une authentification basée sur une clé SSH et vous connecter à des serveurs Linux distants sans saisir de mot de passe.

Créer des clés SSH sur Debian #

Il y a de fortes chances que vous ayez déjà une paire de clés SSH sur votre machine cliente Debian. Si vous générez une nouvelle paire de clés, l'ancienne sera écrasée.

Exécutez le ls suivant commande pour vérifier si les fichiers clés existent :

ls -l ~/.ssh/id_*.pub

Si la sortie de la commande ci-dessus contient quelque chose comme No such file or directory ou no matches found , cela signifie que vous n'avez pas de clés SSH, et vous pouvez passer à l'étape suivante et générer une nouvelle paire de clés SSH.

Sinon, si vous avez une paire de clés SSH, vous pouvez soit les utiliser, soit sauvegarder les anciennes clés et en générer de nouvelles.

Générez une nouvelle paire de clés SSH 4096 bits avec votre adresse e-mail en commentaire en saisissant la commande suivante :

ssh-keygen -t rsa -b 4096 -C "[email protected]"

La sortie ressemblera à ceci :

Enter file in which to save the key (/home/yourusername/.ssh/id_rsa):

Appuyez sur Enter pour accepter l'emplacement et le nom de fichier par défaut.

Ensuite, vous serez invité à saisir une phrase de passe sécurisée. Que vous souhaitiez utiliser une phrase de passe, c'est à vous de décider. La phrase secrète ajoute une couche de sécurité supplémentaire.

Enter passphrase (empty for no passphrase):

Si vous ne souhaitez pas utiliser de phrase secrète, appuyez simplement sur Enter .

L'ensemble de l'interaction ressemble à ceci :

Pour confirmer que la paire de clés SSH a été générée, exécutez la commande suivante :

ls ~/.ssh/id_*

La commande listera les fichiers clés :

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

Copier la clé publique sur le serveur #

Maintenant que vous avez votre paire de clés SSH, l'étape suivante consiste à copier la clé publique sur le serveur que vous souhaitez gérer.

Le moyen le plus simple et le plus recommandé pour copier la clé publique sur le serveur distant est d'utiliser le ssh-copy-id outil.

Exécutez la commande suivante sur votre ordinateur local :

ssh-copy-id remote_username@server_ip_address

Vous serez invité à saisir le remote_username mot de passe :

remote_username@server_ip_address's password:

Une fois l'utilisateur authentifié, le contenu du fichier de clé publique (~/.ssh/id_rsa.pub ) sera ajouté à l'utilisateur distant ~/.ssh/authorized_keys fichier et la connexion sera fermée.

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'username@server_ip_address'"
and check to make sure that only the key(s) you wanted were added.

Si le ssh-copy-id n'est pas disponible sur votre ordinateur local, utilisez la commande suivante pour copier la clé publique :

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

Se connecter au serveur à l'aide des clés SSH #

À ce stade, vous devriez pouvoir vous connecter au serveur distant sans être invité à entrer un mot de passe.

Pour le tester, essayez de vous connecter au serveur via SSH :

ssh remote_username@server_ip_address

Si vous n'avez pas défini de phrase secrète, vous serez immédiatement connecté. Sinon, vous serez invité à saisir la phrase secrète.

Désactivation de l'authentification par mot de passe SSH #

Pour ajouter une couche de sécurité supplémentaire à votre serveur, vous pouvez désactiver l'authentification par mot de passe SSH.

Avant de désactiver l'authentification par mot de passe, assurez-vous que vous pouvez vous connecter à votre serveur sans mot de passe et que l'utilisateur avec lequel vous vous connectez dispose des privilèges sudo.

Connectez-vous à votre serveur distant :

ssh sudo_user@server_ip_address

Ouvrez le fichier de configuration du serveur SSH /etc/ssh/sshd_config :

sudo nano /etc/ssh/sshd_config

Recherchez les directives suivantes et modifiez-les comme suit :

/etc/ssh/sshd_config
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no

Une fois cela fait, enregistrez le fichier et redémarrez le service SSH :

sudo systemctl restart ssh

À ce stade, l'authentification par mot de passe est désactivée.


Debian
  1. Comment configurer des clés SSH

  2. Définir une IP Statique sur Debian 11 - Comment faire ?

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

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

  5. Comment configurer des clés SSH sur Ubuntu 18.04

Comment configurer des clés SSH sur Debian 9

Comment configurer les clés SSH – Windows OS ?

Comment définir une adresse IP statique sur Debian 11

Comment configurer une clé SSH sur un serveur Plesk

Comment configurer des clés SSH sur Debian 11 Linux

Comment configurer WireGuard VPN sur Debian 11