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 22:10] – [Configurer un accès SSH avec une 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. |
- | bloc information | + | * Pour retrouver l' |
+ | |||
+ | <code shell> | ||
+ | $ ssh-keygen -H -F < | ||
+ | </ | ||
+ | |||
+ | * Pour supprimer une seule entrée de known_hosts: | ||
+ | |||
+ | <code shell> | ||
+ | # ssh-keygen -R < | ||
+ | </ | ||
</ | </ | ||
Ligne 78: | 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 107: | 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 114: | Ligne 181: | ||
Pour en savoir plus : | Pour en savoir plus : | ||
- | * {{https:// | + | * {{https:// |
Ligne 137: | 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.1637529039.txt.gz · Dernière modification : 2021/11/21 22:10 de techer.charles_educ-valadon-limoges.fr