GNU/Linux >> Tutoriels Linux >  >> Debian

Comment générer et configurer des clés SSH sur Debian 10

Présentation

SSH signifie Secure Shell et fonctionne comme une méthode pour établir des connexions à distance entre ordinateurs. SSH est généralement utilisé pour se connecter et gérer un serveur distant.

Ce guide vous aidera à générer une paire de clés SSH sur Debian 10 Linux.

Prérequis

  • Un système exécutant Debian 10 Linux
  • SSH configuré à la fois sur le client et sur le système distant. (Apprenez à activer SSH sur Debian.)
  • Accès à une fenêtre de terminal / ligne de commande (Activités > Recherche > Terminal )
  • Un compte utilisateur avec sudo ou racine privilèges pour le système local
  • Un compte utilisateur et un nom d'hôte pour le serveur distant

Étape 1 :Vérifiez les clés existantes

Si le système s'est déjà connecté au serveur distant via SSH, il peut déjà avoir des clés SSH. Recherchez les clés préexistantes en saisissant la commande suivante dans une fenêtre de terminal :

ls -l ~/.ssh/id*

Si le système répond qu'il n'y a pas un tel fichier ou répertoire, le système n'a pas de clés SSH.

Si le système répertorie un fichier, il possède une paire de clés SSH. Pour continuer à utiliser cette paire de clés, passez directement à l'étape 3 . Vous pouvez également sauvegarder cette paire de clés, puis procéder à la génération d'une nouvelle paire de clés SSH.

Étape 2 :Créer une paire de clés SSH

Cette étape crée une clé SSH publique et privée.

1. Dans le terminal, saisissez la commande suivante :

ssh-keygen

2. Par défaut, cela crée un RSA 2048 bits paire de clés. Pour plus de sécurité, un RSA 4 096 bits la paire de clés peut être ajoutée en utilisant le -b 4096 comme suit :

ssh-keygen -b 4096

Le système traite la demande, puis demande l'emplacement pour enregistrer la paire de clés. Par défaut, il utilise ~/.ssh/id_rsa . C'est le /.ssh répertoire dans le répertoire personnel.

3. Appuyez sur Entrée pour accepter cet emplacement à moins qu'il soit nécessaire d'utiliser un emplacement différent.

4. Si une clé existe déjà sur ce système, il vous demandera maintenant d'écraser l'ancienne clé. Appuyez sur y pour continuer.

5. Ensuite, le système vous invite à saisir et à confirmer une phrase de passe. Il s'agit d'une couche supplémentaire de sécurité ssh, obligeant les utilisateurs à saisir la phrase secrète lors de la connexion via SSH. Définissez et confirmez une phrase secrète, ou laissez-la vide pour ignorer cette étape.

6. Enfin, le système affiche l'identification et l'emplacement de la clé publique, l'empreinte digitale de la clé et l'image aléatoire de la clé.

Étape 3 :Copiez la clé publique sur le serveur distant

Copiez la clé publique sur le serveur distant pour appairer correctement les clés SSH :

1. La méthode la plus simple consiste à saisir la commande suivante :

ssh-copy-id [email protected]

Remplacer utilisateur avec le nom d'utilisateur réel du système distant. Remplacez également nom d'hôte avec le nom d'hôte réel de l'ordinateur distant. L'adresse IP du système distant peut être utilisée à la place du nom d'hôte.

2. Le système tente maintenant de se connecter au système distant en utilisant le nom d'utilisateur que vous avez fourni. Lors de la première connexion, le système peut répondre que l'authenticité de l'hôte ne peut pas être établie. Tapez yes et appuyez sur Entrée .

3. Le système analyse le système local pour le id_rsa.pub clé générée à l'étape 2 . Ensuite, il vous demandera le mot de passe du compte d'utilisateur sur le système distant. Entrez le mot de passe et appuyez sur Entrée .

4. Le système doit afficher le nombre de clés ajoutées :1 . Ensuite, il affiche des instructions pour se connecter au système distant. Vous pouvez saisir la commande telle qu'elle s'affiche sur votre écran.

Étape 3.1 :Copie manuelle de la clé publique SSH sur le serveur distant

S'il n'est pas possible de copier la clé SSH automatiquement, la clé peut être copiée manuellement.

1. Tout d'abord, affichez la clé SSH avec la commande suivante :

cat ~/.ssh/id_rsa.pub

Le système doit afficher la clé publique SSH qui vient d'être créée. Il devrait commencer par :

ssh-rsa AAAA

2. Notez cette chaîne de caractères.

3. Ensuite, accédez au serveur distant. Ouvrez un terminal et créez un nouveau répertoire ssh en saisissant ce qui suit :

sudo mkdir -p ~/.ssh

5. Ensuite, ajoutez la clé publique au fichier authorized_keys en saisissant ce qui suit :

sudo echo ssh_public_key >> ~/.ssh/authorized_keys

Remplacez ssh_public_key avec la clé publique réelle affichée par la commande cat.

6. Définissez les autorisations correctes pour le nouveau répertoire :

sudo chmod -R go= ~/.ssh

7. Si vous utilisez le compte d'utilisateur root Debian sur le serveur, le propriétaire du répertoire doit être défini sur le compte d'utilisateur qui se connectera à distance au serveur :

sudo chown -R user:user ~/.ssh

Étape 4 :Connectez-vous à distance à l'aide de SSH

1. Depuis le système client, ouvrez une fenêtre de terminal et entrez ce qui suit :

ssh [email protected]

2. Le système peut afficher que l'authenticité de l'hôte ne peut pas être établie. Tapez yes et appuyez sur Entrée .

3. Si vous avez défini une phrase secrète à l'étape 2 , saisissez-le lorsque vous y êtes invité.

Vous devriez maintenant avoir une connexion SSH au serveur distant.

Étape 5 :Désactiver l'authentification par mot de passe (facultatif)

La désactivation de l'authentification par mot de passe est une précaution de sécurité. Il empêche les attaques par force brute contre les tentatives de connexion au serveur.

Avant de continuer, revérifiez pour vous assurer :

  • Vous pouvez vous connecter au serveur sans mot de passe (par exemple, en utilisant une connexion SSH avec une paire de clés, détaillée dans cet article).
  • Vous vous connectez au serveur avec un compte utilisateur sudo.

1. Commencez par vous connecter au serveur distant :

ssh [email protected]

Ce nom d'utilisateur doit avoir sudo privilèges.

2. Ensuite, modifiez le sshd_config fichier dans un éditeur de texte de votre choix (nous utilisons nano):

sudo nano /etc/ssh/sshd_config

3. Recherchez et modifiez les lignes suivantes pour qu'elles se présentent comme suit :

PasswordAuthentication no

ChallengeResponseAuthentication no

UsePAM no

4. Écrivez les modifications, puis quittez l'éditeur. Redémarrez le service SSH en saisissant ce qui suit :

sudo systemctl restart ssh

Le système n'autorise plus l'authentification par mot de passe pour les connexions.


Debian
  1. Comment configurer des clés SSH

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

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

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

  5. Comment configurer des clés SSH sur Debian

Comment configurer des clés SSH sur Debian 10

Comment configurer l'authentification SSH sans mot de passe sous Linux

Comment générer une clé SSH dans CentOS 8

Comment configurer des clés SSH sur Debian 11 Linux

Comment configurer WireGuard VPN sur Debian 11

Comment générer et utiliser la clé SSH dans le système Linux ?