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 14:21] – [Configurer un accès SSH avec une clé SSH depuis un client OpenSSH] techer.charles_educ-valadon-limoges.fr | reseau:debian:clessh [2026/06/11 20:30] (Version actuelle) – [Accès au serveur en SSH avec Putty] techer.charles_educ-valadon-limoges.fr | ||
|---|---|---|---|
| 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 | + | |
| - | * [[clessh:listeclepublique|Les clés publiques SSH Etudiant/ | + | <WRAP center round info> |
| + | * En utilisant **mot de passe**, vous utilisez **un seul facteur** d' | ||
| + | * En utilisant une **clé publique | ||
| + | </ | ||
| + | |||
| + | 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/no/[fingerprint])? | ||
| + | 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 | ||
| + | |||
| + | 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 31: | Ligne 89: | ||
| Generating public/ | Generating public/ | ||
| - | Enter file in which to save the key (/ | + | Enter file in which to save the key (/ |
| Enter passphrase (empty for no passphrase): | Enter passphrase (empty for no passphrase): | ||
| Enter same passphrase again: | Enter same passphrase again: | ||
| - | Your identification has been saved in / | + | Your identification has been saved in / |
| - | Your public key has been saved in / | + | Your public key has been saved in / |
| The key fingerprint is: | The key fingerprint is: | ||
| SHA256: | SHA256: | ||
| Ligne 53: | Ligne 111: | ||
| </ | </ | ||
| - | Dans le dossier caché **.ssh** (sous Windows Linux ou MacOsX) vous avez votre couple de clés privée (id_rsa) et publique (id_rsa.pub). | + | Dans le dossier caché **.ssh** (sous Windows Linux ou MacOsX) vous avez votre couple de clés privée (id\_ed25519) et publique (id\_ed25519.pub). |
| <code shell> | <code shell> | ||
| $ ls .ssh | $ ls .ssh | ||
| - | id_rsa | + | id_ed25519 |
| $ | $ | ||
| </ | </ | ||
| + | |||
| + | <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 147: | ||
| <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\_ed25519.pub dans le fichier authorized_keys : | ||
| + | |||
| + | <code shell> | ||
| + | C:> scp .ssh/ | ||
| + | C:> ssh compteutilisateur@adresseip | ||
| + | $ cat id\_ed25519.pub >> .ssh/ | ||
| + | </ | ||
| </ | </ | ||
| Ligne 80: | Ligne 164: | ||
| </ | </ | ||
| - | Il est fortement conseillé ensuite de désactiver l' | + | Il est fortement conseillé ensuite de désactiver l' |
| * Décommentez la ligne suivante en mettant sa valeur à **no** : | * Décommentez la ligne suivante en mettant sa valeur à **no** : | ||
| <code shell> | <code shell> | ||
| PasswordAuthentication no | PasswordAuthentication no | ||
| </ | </ | ||
| - | | + | |
| <code shell> | <code shell> | ||
| - | $ sudo systemlctl restart ssh | + | ChallengeResponseAuthentication no |
| </ | </ | ||
| + | * sauvegardez le fichier **/ | ||
| + | <code shell> | ||
| + | $ sudo systemctl restart ssh | ||
| + | </ | ||
| - | Pour en savoir plus : | ||
| - | * https:// | ||
| - | |||
| - | |||
| - | ==== Génération des clés avec PuttyGen ==== | ||
| - | |||
| - | * L' | ||
| - | * Lancez PuttyGEn | ||
| - | {{ : | ||
| - | * Cliquez sur le bouton **Generate** et bouger la souris sur la **zone blanche**. | ||
| - | {{ : | ||
| - | * Mettez **votre nom** comme commentaire de la clé publique. | ||
| - | * Sélectionnez puis Copiez/ | ||
| - | * Cliquez sur le bouton **Save private key** pour enregister votre clé privée (extention **.ppk**) dans votre dossier personnel. | ||
| - | {{ : | ||
| - | |||
| - | * Le contenu du fichier de votre clé publique | ||
| - | {{ : | ||
| - | {{ : | ||
| - | ==== Configuration de l' | ||
| - | * 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 **/ | ||
| - | {{ : | ||
| - | * Copiez dans ce fichier le contenu de votre **clé publique**. | ||
| - | * Créez dans le dossier du compte **/ | ||
| - | * Copiez dans ce fichier la **clé publique** de l' | ||
| - | ==== Accès au serveur en SSH avec Putty ==== | ||
| - | * Configurez Putty pour avoir un accès **console** à votre serveur. | ||
| - | * Indiquez l' | ||
| - | {{ : | ||
| - | * précisez le compte **root** pour vous connecter : | ||
| - | {{ : | ||
| - | * précisez votre **clé privée** | ||
| - | {{ : | ||
/var/www/html/wikis/farm/siocours.lycees.nouvelle-aquitaine.pro/data/attic/reseau/debian/clessh.1637245286.txt.gz · Dernière modification : de techer.charles_educ-valadon-limoges.fr
