Se connecter avec une clé privée à un serveur distant

(Mise à jour le 19 août 2021 à 20:48)

Comme je l’indiquais dans un précédent article (1), un des protocoles utilisés pour se connecter de manière sécurisée à un serveur distant est le SSH (pour Secure Shell), qui protège la communication en imposant un échange de clés de chiffrement entre l’ordinateur client et le serveur. Le client et le serveur sont tous les deux authentifiés.

Outre le VPN que je mentionnais dans l’article précédent, on peut créer une paire de clés. Les clés publique et privée sont générées ensemble de manière à être utilisées au cours du processus de connexion/authentification. La clé publique se trouve sur le serveur (emplacement distant), la clé privée réside localement sur son ordinateur. Lorsque l’on essaie de se connecter à un serveur, les clés publique et privée sont comparées. Si elles correspondent, l’utilisateur est autorisé à se connecter au serveur.

o2switchLes hébergeurs de sites web, qui proposent cPanel comme outil de gestion, intègrent une interface de création et de gestion de clé. C’est le cas d’o2switch par exemple. Depuis cette interface, il est possible de créer une clé privée et une clé publique à distance. Mais dans la mesure où il faut rapatrier la clé privée sur son ordinateur, et donc qu’elle transite par Internet, je ne suis pas certaine que ce soit la meilleure façon de procéder !

Générer une paire de clé RSA sur Mac

Sur Mac, on peut facilement créer une paire de clés. Dans un Terminal (accessible depuis le répertoire Applications > Utilitaires > Terminal), il faut saisir :

fd4e5b3b932cd8f2f3766fdba3bfa415000

Le Terminal affiche :

fd4e5b3b932cd8f2f3766fdba3bfa415001

Cela signifie que la paire de clés du nom d’id_rsa sera créée dans le répertoire .ssh de l’utilisateur en cours. Par défaut le nom de la clé est id_rsa, mais on peut en choisir un autre.

Le terminal affiche ensuite :

fd4e5b3b932cd8f2f3766fdba3bfa415002

Il faut donc saisir un mot de passe. Il est évidemment conseillé d’en construire un solide (au moins 8 caractères, avec chiffres, minuscules, majuscules et caractères spéciaux). Le terminal ne l’affiche pas, c’est normal !

Il est demandé de saisir une nouvelle fois le mot de passe :

fd4e5b3b932cd8f2f3766fdba3bfa415003

Si les deux mots de passe ne sont pas identiques, le terminal affiche :

fd4e5b3b932cd8f2f3766fdba3bfa415004

puis

fd4e5b3b932cd8f2f3766fdba3bfa415005

Si tout s’est déroulé correctement, le terminal affiche :

fd4e5b3b932cd8f2f3766fdba3bfa415006

o2switchLa clé privée, ici id_rsa et la clé publique, ici id_rsa.pub, ont été sauvegardées dans le répertoire /Users/nom_d’utilisateur/.ssh.

Ce répertoire se trouve dans Bibliothèque > .ssh. Pour l’atteindre, dans le Finder, cliquer dans le menu dans Aller > Bibliothèque, éventuellement en maintenant enfoncée la touche Alt (Option).

Placer la clé publique sur le serveur

Pour envoyer sa clé publique ou la coller sur l’interface du serveur, effectuer un double clic sur le fichier id_rsa.pub, ou un clic droit puis choisir de l’ouvrir avec TextEdit. Copier le contenu de ce fichier et le coller sur le serveur distant.

Se connecter au serveur avec ses clés RSA

o2switchPour se connecter à un serveur en SFTP (FTP avec SSH), une fois la clé publique placée sur le serveur, il faut bien sûr configurer le logiciel FTP, de façon à ce qu’il aille chercher la clé privée sur l’ordinateur correspondant à la clé publique que l’on y a placée.

Cyberduck (2) par exemple permet d’indiquer le chemin pour accéder à la clé privée (image ci-contre).

Avec Forklift

J’avais décrit le gestionnaire de fichiers Forklift dans l’article ForkLift, un gestionnaire de fichiers et un client (S)FTP performant. Je ne reviens pas ici sur les paramètres de configuration de l’application.

ForkLift est mon gestionnaire de fichiers par défaut, en remplacement du Finder, mais aussi mon client FTP. J’avais jusqu’ici configuré la connexion SFTP (avec SSH donc) avec un nom d’utilisateur et un mot de passe, ce qui m’obligeait à disposer d’un VPN (3).

J’ai (enfin !) trouvé dans la documentation de Forklift comment utiliser ma clé RSA, ce qui me permet de me connecter depuis mon MacBook, même si le VPN n’est pas actif, et de façon tout autant sécurisée !

Afficher/masquer facilement les fichiers cachés

Forklift permet d’afficher et de masquer facilement les fichiers cachés, ce qui est pratique pour repérer le répertoire .ssh.

Pour autoriser l’accès à la clé privée

Pour autoriser Forklift (ça marche peut-être avec d’autres apps) à accéder à la clé privée, si un mot de passe lui est associé, saisir dans le terminal :

fd4e5b3b932cd8f2f3766fdba3bfa415007

Celui-ci affiche :

fd4e5b3b932cd8f2f3766fdba3bfa415008

Saisir le mot de passe de sa clé privée.

Le terminal affiche ensuite :

fd4e5b3b932cd8f2f3766fdba3bfa415009

ce qui confirme que la clé privée id_rsa située dans le répertoire .ssh a bien été ajoutée.

Pour rendre permanent cet accès

  • Créer un fichier ‘config’ dans le répertoire /Users/nom_d’utilisateur/.ssh (ou le compléter s’il existe déjà) ; ce fichier n’a pas d’extension ;
  • saisir dans ce fichier, avec TextEdit par exemple :

fd4e5b3b932cd8f2f3766fdba3bfa415010

Je me connecte ainsi facilement et rapidement aux serveurs distants ! et peux transférer mes fichiers simplement !

Tout ceci fonctionne de manière identique pour les autres systèmes d’exploitation Linux, Windows… En revanche, je n’ai pas repéré d’autres moyens que d’utiliser un VPN pour me connecter de façon similaire depuis l’iPad ou l’iPhone.


Ecrit par Lise - Site

  1. Voir l’article Sécuriser ses échanges sur Internet []
  2. Voir l’article J’ai testé Cyberduck avec macOS Catalina. []
  3. Voir l’article Sécuriser ses échanges sur Internet. []

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Laisser ces deux champs tels quels :

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.