Générer et se connecter en SSH avec des clés SSH

Bloqueur de pub détectée - Vous bloquez l'affichage des publicités.
Pour soutenir le site, merci de bien vouloir laisser les publicités s'afficher.

Plus d'informations : Comment désactiver les bloqueurs de publicité sur un site internet.

SSH (Secure Shell) est un protocole de réseau cryptographique qui permet aux administrateurs de contrôler à système à distance.
Les clés SSH offrent un moyen plus sûr de se connecter à un serveur avec SSH que d'utiliser un mot de passe seul.
Alors qu'un mot de passe peut éventuellement être cracké avec une attaque par force brute, les clés SSH sont presque impossibles à déchiffrer par la seule force brute.
En effet, avec des clés 2048 bits, les clés SSH sont le moyen le plus sûr pour vous authentifier sur un serveur SSH.

Cet article vous guide pour créer et générer la paires de clés SSH.
Vous aurez aussi la marche à suivre afin de la placer sur le serveur pour vous authentifier avec une clé SSH sans mot de passe.

Générer et se connecter en SSH avec des clés SSH

Les clés SSH : comment ça marche

La génération d'une paire de clés vous fournit deux longues chaînes de caractères: une clé publique et une clé privée.
Vous pouvez placer la clé publique sur n'importe quel serveur, puis la déverrouiller en vous y connectant avec un client qui possède déjà la clé privée.
Lorsque les deux correspondent, le système se déverrouille sans avoir besoin d'un mot de passe.
Vous pouvez augmenter encore plus la sécurité en protégeant la clé privée avec une phrase secrète.

Le protocole SSH-2 prend en charge plusieurs algorithme de chiffrement comme RSA, DSA, ECDSA et Ed25519.
C'est donc une authentification par chiffrement asymétrique.
Ainsi, la paire de clés SSH se composent :

  • D'une clé publique : que l'on copie sur le ou les serveurs SSH
  • D'une clé privée : que l'on stocke dans le client SSH et qu'il ne faut en cas qu'à se faire pirater.
Il ne faut donc pas que votre clé privée soit volée, sinon un attaquant pourra se connecter à votre serveur SSH à votre place.

Pour rappel, voici les fichiers de configuration SSH :

  • /etc/ssh/sshd_config : Fichier de configuration du serveur OpenSSH. /etc/ssh/ssh_config : Fichier de configuration du client OpenSSH.
  • ~/.ssh/ : Dossier de configuration SSH de l'utilisateur
  • ~/.ssh/authorized_keys ou ~/.ssh/authorized_keys2 (déprécié) : Liste les clés publiques (RSA / DSA) de l'utilisateur.

Comment générer les clés SSH

Sur Linux et Windows 10

Le client SSH sur Windows 10 et Linux fonctionne de la même manière.

  • Ouvrez un terminal
  • Restez connecté avec l'utilisateur avec lequel vous souhaitez vous connecter au serveur SSH. N'utilisez pas sudo, puis saisissez :
sh-keygen -t rsa
  • Appuyez sur entrée sur le fichier à générer : ~/.ssh/id_rsa
Générer les clés SSH sur Linux
  • Ensuite saisissez une phrase de mot de passe qui sera à utiliser à chaque connexion
Générer les clés SSH sur Linux

A partir de là, votre paire de clés SSH est générée.
Il faut ensuite transférer la clé publique sur le serveur SSH, pour cela, on peut utiliser ssh-copy-id :

ssh-copy-id <utilisateur>@<host>
Générer les clés SSH sur Linux
Bravo ! vous avez réussi à générer des clés SSH sur Linux ou Windows 10.

Sur Windows 10 en invite de commandes

Windows 10 possède en natif un client SSH que l'on peut utiliser en invite de commandes.
Son fonctionnement est identique à celui de Linux

ssh-keygen
  • Laissez le chemin par défaut C:\Users\Utilisateur\.ssh\id_rsa
Générer les clés SSH sur Windows 10 en invite de commandes
  • Puis saisissez une phrase de mot de passe (passphrase)
  • Confirmez celle-ci en la ressaisissant
Générer les clés SSH sur Windows 10 en invite de commandes
  • La paire de clée SSH est alors générée
Générer les clés SSH sur Windows 10 en invite de commandes

Il faut maintenant installer la clé publique sur votre serveur SSH.
Afin de récupérer celle-ci, depuis l'invite de commandes, saisissez :

type %USERPROFILE%\.ssh\id_rsa.pub
  • connectez vous en SSH au à la machine cible
  • Éditez le fichier ~/.ssh/authorized_keys
  • Copiez/collez le contenu de la clé publique
  • Enregistrez les modifications

Si vous ne désirez pas ressaissir la phrase de mot de passe, il faut utiliser ssh-agent.
Saisissez ssh-add afin de récupérer les clés SSH puis ssh-agent pour enregistrer la phrase de mot de passe.

Bravo ! vous avez réussi à générer des clés SSH sur Windows 10 en invite de commandes.

Sur Windows avec PuTTy

PuTTy est un client SSH populaire sur Windows.
Il gère aussi l'authentification par clés SSH.

Générer les clés SSH sur Windows avec PuTTy
  • Cliquez sur le bouton Generate afin générer les clés SSH

Notez que le menu Conversions vous permet d'importer des clés SSH déjà générées.

Générer les clés SSH sur Windows avec PuTTy
  • Bougez la souris pour terminer la génération des clés SSH
Générer les clés SSH sur Windows avec PuTTy
  • Saisissez la phrase de mot de passe dans Key passphrase et confirm passphrase
  • puis cliquez sur le bouton Save private key afin d'enregistrer le fichier de clés
Générer les clés SSH sur Windows avec PuTTy
  • Enregistrez le fichier PPK dans votre PC dans un emplacement sûr
Générer les clés SSH sur Windows avec PuTTy
Le fichier PPK est votre clé privée, elle ne doit pas être récupérée par un tiers car elle vous permet de vous connecter à votre serveur SSH.
Stockez le fichier dans un emplacement sécurisé.

Ensuite il faut installer la clé publique sur le serveur SSH :

  • Enfin connectez vous au à la machine cible
  • Éditez le fichier ~/.ssh/authorized_keys
  • Copiez/collez le contenu du champs Key / Public key for pasting info OpenSSH authorized_keys file
  • Puis enregistrez le contenu du fichier authorized_keys
Générer les clés SSH sur Windows avec PuTTy
Bravo ! vous avez réussi à générer des clés SSH sur Windows avec PuTTY.

Se connecter à un serveur SSH avec des clés SSH

Depuis un client Linux

  • Ouvrez un terminal
  • Utilisez la commande SSH pour vous connecter à votre serveur SSH. Utilisez la syntaxe suivante :
ssh <user>@<host>
  • Le mot de passe de verrouillage vous ait alors demandé, saisissez ce dernier
Se connecter à un sreveur SSH avec des clés SSH
Bravo ! vous avez réussi à vous connecter à un serveur SSH avec une authentification par clés SSH.

Depuis client Windows Putty

  • Ouvrez PuTTy sur PC Windows
  • Indiquez le host
  • Saisissez le nom d'une sessions dans Saved Session
  • puis cliquez sur Save
Se connecter à un sreveur SSH avec des clés SSH avec PuTTy
  • Puis à gauche, allez dans le menu Connection > SSH > Auth
  • Dans Private key file for authentification, cliquez sur Browse
  • Sélectionnez le fichier PPK généré précédemment
  • Retournez dans le menu session puis cliquez sur Save pour enregistrer les changements
Se connecter à un sreveur SSH avec des clés SSH avec PuTTy
  • Lancez la connexion SSH en cliquant sur Open
  • Saisissez le nom d'utilisateur puis la passphrase
  • La connexion SSH doit alors fonctionner via une authentification par clé SSH
Se connecter à un sreveur SSH avec des clés SSH avec PuTTy
Bravo ! vous avez réussi à vous connecter à un serveur SSH avec une authentification par clés SSH.

Liens

Vous avez trouvé cet article utile et interressant, n'hésitez pas à le partager...

Trouver la solution sur le forum d'aide

Vous êtes arrivé au terme de l'article Générer et se connecter en SSH avec des clés SSH mais vous n'avez pas trouvé la solution à votre problème...
Suivez ces articles du forum pour trouver une réponse ou demandez à votre tour de l'aide sur le forum

Tags: