reseau:debian:clessh
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| reseau:debian:clessh [2021/11/21 23:07] – [Générer une paire de clé SSH depuis un client OpenSSH] techer.charles_educ-valadon-limoges.fr | reseau:debian:clessh [2025/05/27 22:24] (Version actuelle) – [Configuration de l'accès SSH] admin | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| ====== Configurer une authentification avec un couple de clés privée/ | ====== Configurer une authentification avec un couple de clés privée/ | ||
| - | ==== Présentation ==== | ||
| - | Pour administrer un serveur Linux, vous pouvez utiliser le compte **root** ou, ce qui est fortement conseillé, un compte que vous avez créé et à qui vous avez permis une **élévation de privilèges**. | + | ===== Présentation ===== |
| + | |||
| + | Pour administrer un serveur Linux, vous pouvez utiliser le compte **root** ou, ce qui est fortement conseillé, un compte que vous avez créé et à qui vous avez permis une **élévation de privilèges** pour permettre l' | ||
| Si vous gérez un autre serveur, il est également fortement conseillé d' | Si vous gérez un autre serveur, il est également fortement conseillé d' | ||
| Ligne 12: | Ligne 13: | ||
| * utiliser des **clés SSH publique**. | * utiliser des **clés SSH publique**. | ||
| - | Vous aller configurer | + | Vous aller configurer le compte linux que vous avez créé afin de permettre d' |
| - | Vous utiliserez **votre propre clé publique SSH** pour vous connecter. | + | |
| - | Vous permettrez à l' | + | |
| - | Après la création de votre **couple de clés Privée/ | + | Après la création de votre **couple de clés Privée/ |
| Votre clé publique sera rajoutée à la page des clés SSH du BTS SIO à la page : | Votre clé publique sera rajoutée à la page des clés SSH du BTS SIO à la page : | ||
| Ligne 23: | Ligne 24: | ||
| <WRAP center round info> | <WRAP center round info> | ||
| * En utilisant **mot de passe**, vous utilisez **un seul facteur** d' | * En utilisant **mot de passe**, vous utilisez **un seul facteur** d' | ||
| - | * En utilisant une **clé publique SSH,** vous utilisez également **un seul facteur** d' | + | * En utilisant une **clé publique SSH,** vous utilisez également **un seul facteur** d' |
| - | Cependant, vous pouvez utiliser la **même clé publique SSH sur plusieurs serveurs** en ne retenant qu'un seul mot de passe, celui de la passphrase de votre clé privée. | + | </ |
| - | En général on **désactive** ensuite l'authentification par mot de passe sur les serveurs afin de n' | + | Vous pouvez utiliser la **même clé publique SSH sur plusieurs serveurs** en ne retenant qu'un seul mot de passe, celui de la passphrase qui protège de votre clé privée. |
| - | Pour en savoir plus : https:// | + | <WRAP center round info> |
| + | Après avoir configuré une authentification avec une clé SSH publique, il est conseillé de **désactiver** l'authentification par mot de passe sur les serveurs. | ||
| </ | </ | ||
| + | |||
| + | Pour en savoir plus : https:// | ||
| + | |||
| + | ===== La confiance entre client et serveur ===== | ||
| + | |||
| + | Les clefs SSH permettent aussi de garantir l' | ||
| + | * Le client qui se connecte à un serveur par SSH doit avoir **confiance en l' | ||
| + | * Pour accorder l' | ||
| + | |||
| + | ==== Authentification du client par le serveur ==== | ||
| + | Pour que le serveur fasse confiance au client qui tente de se connecter, l' | ||
| + | |||
| + | Lors de la connexion au serveur, le client utilise la clef SSH privée de l' | ||
| + | |||
| + | ==== Authentification du serveur par le client ==== | ||
| + | Lors de sa première connexion à un serveur, le client enregistre une clef publique fournie par le serveur en supposant qu'il s'agit bien de la clef serveur de l' | ||
| + | |||
| + | Avant de faire confiance au serveur, le client va demander à l' | ||
| + | |||
| + | Cela se présente de cette manière : | ||
| + | < | ||
| + | ~$ ssh lab.example.org | ||
| + | The authenticity of host ' | ||
| + | ECDSA key fingerprint is SHA256: | ||
| + | Are you sure you want to continue connecting (yes/ | ||
| + | Warning: Permanently added ' | ||
| + | </ | ||
| + | |||
| + | Si l' | ||
| + | |||
| + | La commande **ssh-keygen -F < | ||
| + | |||
| + | < | ||
| + | ~$ ssh-keygen -F lab.example.org | ||
| + | # Host lab.example.org found: line 133 | ||
| + | |1|4M/ | ||
| + | </ | ||
| + | |||
| + | Lors des connexions suivantes, le client va rechercher de la même façon dans le fichier **~/ | ||
| + | * Si la clef publique ainsi conservée correspond bien à la clef privée utilisée par le serveur, le client va faire confiance au serveur et procéder ensuite à sa propre authentification. | ||
| + | * Si ce n'est pas le cas, le client interrompt la connexion et affiche à l' | ||
| + | |||
| + | On remarque qu'une **faiblesse du protocole** existe à ce niveau puisqu' | ||
| + | |||
| + | Ce risque peut être écarté si les clefs publiques des serveurs sont distribuées par d' | ||
| + | |||
| + | Une variante de cette solution est facilitée dans les versions récentes d' | ||
| ==== Générer une paire de clé SSH depuis un client OpenSSH==== | ==== Générer une paire de clé SSH depuis un client OpenSSH==== | ||
| Ligne 70: | Ligne 119: | ||
| $ | $ | ||
| </ | </ | ||
| + | |||
| <WRAP center round info> | <WRAP center round info> | ||
| - | Un autre fichier **know_hosts** sera ensuite créé dans le dossier **.ssh** afin de contenir **les clés publiques des serveurs** sur lesquels vous vous êtes authentifié avec un mot de passe ou une clé SSH publique. | + | Un autre fichier **know\_hosts** sera ensuite créé dans le dossier **.ssh** afin de contenir **les clés publiques des serveurs** sur lesquels vous vous êtes authentifié avec un mot de passe ou une clé SSH publique. |
| * Pour retrouver l' | * Pour retrouver l' | ||
| + | |||
| <code shell> | <code shell> | ||
| $ ssh-keygen -H -F < | $ ssh-keygen -H -F < | ||
| </ | </ | ||
| + | |||
| * Pour supprimer une seule entrée de known_hosts: | * Pour supprimer une seule entrée de known_hosts: | ||
| + | |||
| <code shell> | <code shell> | ||
| # ssh-keygen -R < | # ssh-keygen -R < | ||
| </ | </ | ||
| + | |||
| </ | </ | ||
| Ligne 85: | Ligne 139: | ||
| * Copiez ensuite votre clé publique sur le serveur auquel vous souhaitez accéder avec la clé SSH. | * Copiez ensuite votre clé publique sur le serveur auquel vous souhaitez accéder avec la clé SSH. | ||
| + | |||
| <code shell> | <code shell> | ||
| $ ssh-copy-id utilisateur@IP_ordinateur_cible | $ ssh-copy-id utilisateur@IP_ordinateur_cible | ||
| Ligne 114: | Ligne 169: | ||
| PasswordAuthentication no | PasswordAuthentication no | ||
| </ | </ | ||
| + | * Modifiez la ligne suivante pour mettre sa valeur à **no** : | ||
| + | <code shell> | ||
| + | ChallengeResponseAuthentication no | ||
| + | </ | ||
| + | |||
| * sauvegardez le fichier **/ | * sauvegardez le fichier **/ | ||
| <code shell> | <code shell> | ||
| Ligne 144: | Ligne 204: | ||
| * Utilisez **WinSCP** pour vous connecter avec le compte **root** sur votre VM Debian. | * Utilisez **WinSCP** pour vous connecter avec le compte **root** sur votre VM Debian. | ||
| * Créez dans le dossier **/root** un dossier **.ssh** et un fichier **/ | * Créez dans le dossier **/root** un dossier **.ssh** et un fichier **/ | ||
| + | |||
| {{ : | {{ : | ||
| + | |||
| * Copiez dans ce fichier le contenu de votre **clé publique**. | * Copiez dans ce fichier le contenu de votre **clé publique**. | ||
| * Créez dans le dossier du compte **/ | * Créez dans le dossier du compte **/ | ||
reseau/debian/clessh.1637532448.txt.gz · Dernière modification : 2021/11/21 23:07 de techer.charles_educ-valadon-limoges.fr
