Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
reseau:debian:clessh [2021/11/15 22:54] techer.charles_educ-valadon-limoges.fr [Présentation] |
reseau:debian:clessh [2021/11/30 10:12] (Version actuelle) techer.charles_educ-valadon-limoges.fr [Configurer un accès SSH avec une clé SSH depuis un client OpenSSH] |
||
---|---|---|---|
Ligne 21: | Ligne 21: | ||
* [[clessh: | * [[clessh: | ||
- | ==== Générer une paire de clé SSH ==== | + | <WRAP center round info> |
- | https:// | + | * En utilisant **mot de passe**, vous utilisez **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' | ||
+ | |||
+ | Pour en savoir plus : https:// | ||
+ | |||
+ | </ | ||
+ | |||
+ | ==== Générer une paire de clé SSH depuis un client OpenSSH==== | ||
+ | Générer une paire de clés privée/ | ||
+ | <WRAP center round info > | ||
+ | Il est conseillé de protéger l' | ||
+ | </ | ||
+ | |||
+ | <code shell> | ||
+ | $ ssh-keygen | ||
+ | |||
+ | Generating public/ | ||
+ | Enter file in which to save the key (/ | ||
+ | Enter passphrase (empty for no passphrase): | ||
+ | Enter same passphrase again: | ||
+ | Your identification has been saved in / | ||
+ | Your public key has been saved in / | ||
+ | The key fingerprint is: | ||
+ | SHA256: | ||
+ | The key's randomart image is: | ||
+ | +---[RSA 2048]----+ | ||
+ | | .. .o .o | | ||
+ | | ..= +oo | | ||
+ | | + @ +.+| | ||
+ | | | ||
+ | | o S . + .| | ||
+ | | | ||
+ | | . ..o=.+| | ||
+ | | . . ..+=.*+| | ||
+ | | . .. oo+=EB| | ||
+ | +----[SHA256]-----+ | ||
+ | $ | ||
+ | </ | ||
+ | |||
+ | 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). | ||
+ | <code shell> | ||
+ | $ ls .ssh | ||
+ | id_rsa | ||
+ | $ | ||
+ | </ | ||
+ | <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==== | ||
+ | |||
+ | * Copiez ensuite votre clé publique sur le serveur auquel vous souhaitez accéder avec la clé SSH. | ||
+ | <code shell> | ||
+ | $ ssh-copy-id utilisateur@IP_ordinateur_cible | ||
+ | </ | ||
+ | |||
+ | <WRAP center round info> | ||
+ | La clé publique est copiée dans le fichier **.ssh/ | ||
+ | </ | ||
+ | |||
+ | <WRAP center round info> | ||
+ | La commande ssh-copy-id n'est pas disponible sous Windows. Vous pouvez alors : | ||
+ | * 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/ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Vous devez maintenant pouvoir vous connecter sans mot de passe au serveur distant : | ||
+ | <code shell> | ||
+ | $ ssh utilisateur@IP_ordinateur_cible | ||
+ | </ | ||
+ | |||
+ | Il est fortement conseillé ensuite de désactiver l' | ||
+ | * Décommentez la ligne suivante en mettant sa valeur à **no** : | ||
+ | <code shell> | ||
+ | PasswordAuthentication no | ||
+ | </ | ||
+ | * Modifiez la ligne suivante pour mettre sa valeur à **no** : | ||
+ | <code shell> | ||
+ | ChallengeResponseAuthentication no | ||
+ | </ | ||
+ | |||
+ | * sauvegardez le fichier **/ | ||
+ | <code shell> | ||
+ | $ sudo systemctl restart ssh | ||
+ | </ | ||
+ | |||
+ | |||
+ | Pour en savoir plus : | ||
+ | * {{https:// | ||