Générer des clés SSH pour votre connexion réseau

A l’aide du protocole de réseau SSH, vous pouvez assurer une connexion réseau sécurisée et cryptée avec un périphérique à distance comme un serveur par exemple. Avec une telle connexion SSH, vous pouvez assurer la maintenance de votre serveur à partir de votre ordinateur local ou bien l’exécuter depuis la ligne de commande. En fonction de la version du protocole que vous utilisez, différents algorithmes de chiffrage sont mis en place. SSH2 a par exemple toujours recours de manière standardisée à AES. Le cryptage de la connexion doit par ailleurs précéder une authentification réussie. Pendant que le serveur s’identifie auprès du client par un certificat de sécurité, il existe différentes manière d’identifier le client sur le serveur. A côté de la variante classique qui comporte nom d’utilisateur + mot de passe, vous avez le choix d’avoir recours à une paire de clés de chiffrage SSH, une privée et une publique.

L’authentification par clé SSH publique

La méthode d’authentification par clé SSH publique présente de nombreux avantages par rapport à l’identification standard avec mot de passe. Ainsi, le mot de passe utilisé (plus précisément son empreinte numérique) est sauvegardé sur la clé SSH publique et non sur le serveur. La clé SSH privée reste quant à celle-ci sauvegardée sur l’ordinateur personnel et reste par conséquent secrète. Par ailleurs, il est possible de la crypter à l’aide d’un identifiant. La clé publique peut vérifier et autoriser une connexion automatique sur le serveur, à l’aide des signatures qui ont été générées par la clé SSH privée. Même si des tiers non autorisés parviendraient à avoir accès à la clé publique, il leur serait presque impossible de décrypter la clé privée. Ainsi, en misant sur une connexion SSH avec une clé privée et une clé publique et non sur un simple mot de passe, vous garantissez une sécurité maximale à vos données. De plus, vous économisez du temps car vous n’aurez plus à saisir votre identifiant et le mot de passe.

Comment passer à une authentification par clé SSH

Pour pouvoir profiter des avantages d’une connexion SSH, vous aurez besoin d’un pack comme OpenSSH pour Unix, WinSCP pour Windows ou encore PuTTY pour systèmes d’exploitation Unix ou Windows. En plus du protocole SSH, ces packs implémentent des applications qui permettent de générer des clés SSH. Les instructions suivantes vous expliquent étape par étape comment configurer des clés SSH avec OpenSSH et PuTTY.

Configurer des clés SSH avec OpenSSH

  1. La première étape consiste à générer des clés SSH. Pour cela, vous aurez besoin de la commande suivante :

    ssh-keygen -t rsa -b 4096

    Les paramètres facultatifs déterminent le type de cryptage (-t), en RSA dans ce cas de figure, ainsi que la longueur de clé en bit (-b). La valeur maximale est fixée à 4096 bits. Si vous ne réglez pas les paramètres facultatifs, les clés SSH seront générées en fonction des réglages par défaut.

  2. La fenêtre de dialogue qui suit affiche le répertoire dans lequel les clés SSH sont enregistrées et permet d’y effectuer des changements (« Enter file in which to save the key »). Vous avez également la possibilité de définir un mot de passe pour la clé privée (« Enter passphrase »). Si vous souhaitez utiliser le répertoire standard sans utiliser de mot de passe pour les clés, laissez les champs libres et appuyez sur Enter pour passer à l’étape suivante.

  3. Les deux clés SSH sont désormais enregistrées dans l’annuaire dans deux fichiers différents. Le fichier id_rsa.pub comprend la clé publique qui doit désormais se trouver dans le sous-dossier .ssh dans authorized_keys sur le serveur. Copiez ensuite la clé dans le répertoire utilisateur d’origine sur le serveur :

    scp ~/.ssh/id_rsa.pub USER@HOST.fr

  4. Connectez-vous ensuite sur le serveur et copiez la clé SSH publique dans le dossier approprié :

    ssh USER@HOST.fr
    cat ~/id_rsa.pub >> ~/.ssh/authorized_keys


  5. Désormais, la paire de clés ainsi que votre mot de passe (si vous en avez défini un) devraient être utilisés automatiquement lors de la connexion SSH. Si ce n’est pas le cas, vérifiez si les droits d’accès sont réglés correctement dans le dossier .ssh et dans le fichier authorized_keys.

  6. Comme la clé publique remplace l’identification par mot de passe, vous pouvez désactiver la procédure type dans le fichier de configuration SSH /etc/ssh/sshd_config (ou bien directement sous /etc/, par exemple avec Cygwin) en modifiant simplement la ligne « PasswordAuthentication yes » en « PasswordAuthentication no ». Par la suite, redémarrez le serveur

Générer des clés SSH avec le PuTTY Key Generator

  1. Lorsque vous utilisez PuTTY pour créer une configuration SSH, vous disposez de tous les outils nécessaires pour générer des paires de clés avec PuTTYgen. Vous trouverez le PuTTY Key Generator dans le même annuaire que celui dans lequel vous avez installé PuTTY. Si l’outil vous manque tout de même, téléchargez-le à partir de la page de téléchargement de PuTTY.

  2. Par la suite, réglez le type de chiffrage dans les paramètres. Pour SSH2, il vous est possible de choisir entre les systèmes de chiffrage RSA ou DAS. Définissez ensuite la longueur souhaitée de la clé sous « Number of bits in a generated key ».

  3. Cliquez par la suite sur « Generate » et promenez le curseur de votre souris sur la fenêtre de dialogue pour générer un code unique.

  4. Une fois cette étape terminée, la paire de clés pourvue peut être agrémentée d’un mot de passe ou d’un commentaire si vous le désirez.

  5. Sauvegardez les deux clés SSH sur « Save private key » et « Save public key ».

  6. Pour que la clé publique soit transmise sur le serveur, connectez-vous à celui-ci avec PuTTY et copiez le code du presse-papiers (« Public key for pasting into OpenSSH authorized_keys file ») dans le dossier des clés autorisées.

  7. La dernière étape consiste à saisir la clé SSH privée dans le client PuTTY. Pour cela, ouvrez le menu de configuration et sélectionnez « Category » > « Connection » > « SSH » > « Auth » > « Private key file for authentication » pour ouvrir le dossier de la clé privée.