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/18 15:21] – [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 : | ||
|   * [[clessh: |   * [[clessh: | ||
| + | |||
| + | <WRAP center round info> | ||
| + |   * En utilisant **mot de passe**, vous utilisez **un seul facteur** d' | ||
| + |   * En utilisant une **clé publique SSH,** vous utilisez également **un seul facteur** d' | ||
| + | </ | ||
| + | |||
| + | 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. | ||
| + | |||
| + | <WRAP center round info> | ||
| + | Après avoir configuré une authentification avec une clé SSH publique, il est conseillé de **désactiver** l' | ||
| + | |||
| + | </ | ||
| + | |||
| + | 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 59: | Ligne 119: | ||
| $ | $ | ||
| </ | </ | ||
| + | |||
| + | <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. | ||
| + |   * Pour retrouver l' | ||
| + | |||
| + | <code shell> | ||
| + | $ ssh-keygen -H  -F < | ||
| + | </ | ||
| + | |||
| + |   * Pour supprimer une seule entrée de known_hosts: | ||
| + | |||
| + | <code shell> | ||
| + | # ssh-keygen -R < | ||
| + | </ | ||
| + | |||
| + | </ | ||
| + | |||
| ==== Configurer un accès SSH avec une clé SSH depuis un client OpenSSH==== | ==== Configurer un accès SSH avec une clé SSH depuis un client OpenSSH==== | ||
| * 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 71: | Ligne 149: | ||
| <WRAP center round info> | <WRAP center round info> | ||
| - | Si la commande ssh-copy-id n'est pas disponible  | + | La commande ssh-copy-id n'est pas disponible  | 
| - | tra | + |   * utiliser la commande **scp** pour copier le fichier  | 
| + | * ouvrir une session ssh pour pouvoir ensuite ajouter le contenu du fichier id_rsa.pub dans le fichier authorized_keys : | ||
| + | <code shell> | ||
| + | C:> scp .ssh/ | ||
| + | C:> ssh compteutilisateur@adresseip | ||
| + | $ cat id_rsa.pub >> .ssh/ | ||
| + | </ | ||
| </ | </ | ||
| Ligne 85: | 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> | ||
| - | $ sudo systemlctl  | + | $ sudo systemctl  | 
| </ | </ | ||
| Pour en savoir plus : | Pour en savoir plus : | ||
| - |   * https:// | + |   * {{https:// | 
| Ligne 115: | 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.1637245286.txt.gz · Dernière modification : 2021/11/18 15:21 de techer.charles_educ-valadon-limoges.fr
                
                