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é­ri­phé­rique à distance comme un serveur par exemple. Avec une telle connexion SSH, vous pouvez assurer la main­te­nance de votre serveur à partir de votre or­di­na­teur local ou bien l’exécuter depuis la ligne de commande. En fonction de la version du protocole que vous utilisez, dif­fé­rents al­go­rithmes de chiffrage sont mis en place. SSH2 a par exemple toujours recours de manière stan­dar­di­sée à AES. Le cryptage de la connexion doit par ailleurs précéder une au­then­ti­fi­ca­tion réussie. Pendant que le serveur s’identifie auprès du client par un cer­ti­fi­cat de sécurité, il existe dif­fé­rentes manière d’iden­ti­fier le client sur le serveur. A côté de la variante classique qui comporte nom d’uti­li­sa­teur + 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’au­then­ti­fi­ca­tion par clé SSH publique

La méthode d’au­then­ti­fi­ca­tion par clé SSH publique présente de nombreux avantages par rapport à l’iden­ti­fi­ca­tion standard avec mot de passe. Ainsi, le mot de passe utilisé (plus pré­ci­sé­ment son empreinte numérique) est sau­ve­gardé sur la clé SSH publique et non sur le serveur. La clé SSH privée reste quant à celle-ci sau­ve­gar­dée sur l’or­di­na­teur personnel et reste par con­sé­quent secrète. Par ailleurs, il est possible de la crypter à l’aide d’un iden­ti­fiant. La clé publique peut vérifier et autoriser une connexion au­to­ma­tique sur le serveur, à l’aide des sig­na­tures qui ont été générées par la clé SSH privée. Même si des tiers non autorisés par­vien­draient à avoir accès à la clé publique, il leur serait presque im­pos­sible 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 ga­ran­tis­sez une sécurité maximale à vos données. De plus, vous éco­no­mi­sez du temps car vous n’aurez plus à saisir votre iden­ti­fiant et le mot de passe.

Comment passer à une au­then­ti­fi­ca­tion 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’ex­ploi­ta­tion Unix ou Windows. En plus du protocole SSH, ces packs im­plé­men­tent des ap­pli­ca­tions qui per­met­tent de générer des clés SSH. Les ins­truc­tions suivantes vous ex­pli­quent étape par étape comment con­fi­gu­rer des clés SSH avec OpenSSH et PuTTY.

Con­fi­gu­rer 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 pa­ra­mètres fa­cul­ta­tifs dé­ter­mi­nent 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 pa­ra­mètres fa­cul­ta­tifs, 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é­per­toire dans lequel les clés SSH sont en­re­gis­trées et permet d’y effectuer des chan­ge­ments (« Enter file in which to save the key »). Vous avez également la pos­si­bi­lité de définir un mot de passe pour la clé privée (« Enter pass­phrase »). Si vous souhaitez utiliser le ré­per­toire 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 en­re­gis­trées dans l’annuaire dans deux fichiers dif­fé­rents. Le fichier id_rsa.pub comprend la clé publique qui doit désormais se trouver dans le sous-dossier .ssh dans au­tho­ri­zed_keys sur le serveur. Copiez ensuite la clé dans le ré­per­toire uti­li­sa­teur 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/au­tho­ri­zed_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 au­to­ma­ti­que­ment lors de la connexion SSH. Si ce n’est pas le cas, vérifiez si les droits d’accès sont réglés cor­rec­te­ment dans le dossier .ssh et dans le fichier au­tho­ri­zed_keys.

  6. Comme la clé publique remplace l’iden­ti­fi­ca­tion par mot de passe, vous pouvez dé­sac­ti­ver la procédure type dans le fichier de con­fi­gu­ra­tion SSH /etc/ssh/sshd_config (ou bien di­rec­te­ment sous /etc/, par exemple avec Cygwin) en modifiant sim­ple­ment la ligne « Pass­wor­dAu­then­ti­ca­tion yes » en « Pass­wor­dAu­then­ti­ca­tion no ». Par la suite, re­dé­mar­rez le serveur

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

  1. Lorsque vous utilisez PuTTY pour créer une con­fi­gu­ra­tion SSH, vous disposez de tous les outils né­ces­saires 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é­char­gez-le à partir de la page de té­lé­char­ge­ment de PuTTY.

  2. Par la suite, réglez le type de chiffrage dans les pa­ra­mètres. Pour SSH2, il vous est possible de choisir entre les systèmes de chiffrage RSA ou DAS. Dé­fi­nis­sez 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é­men­tée d’un mot de passe ou d’un com­men­taire si vous le désirez.

  5. Sau­ve­gar­dez 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 au­tho­ri­zed_keys file ») dans le dossier des clés au­to­ri­sées.

  7. La dernière étape consiste à saisir la clé SSH privée dans le client PuTTY. Pour cela, ouvrez le menu de con­fi­gu­ra­tion et sé­lec­tion­nez « Category » > « Con­nec­tion » > « SSH » > « Auth » > « Private key file for au­then­ti­ca­tion » pour ouvrir le dossier de la clé privée.
Aller au menu principal