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 :

ssh-keygen -t rsa

Le Terminal affiche :

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/nom_d'utilisateur/.ssh/id_rsa): id_rsa

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 :

Enter passphrase (empty for no passphrase):

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 :

Enter same passphrase again:

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

Passphrases do not match.  Try again.

puis

Enter passphrase (empty for no passphrase):
Enter same passphrase again:

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

Your identification has been saved in id_rsa.
Your public key has been saved in id_rsa.pub.

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 :

ssh-add -K ~/.ssh/id_rsa_o2switch

Celui-ci affiche :

Enter passphrase for /Users/nom_d'utilisateur/.ssh/id_rsa:

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

Le terminal affiche ensuite :

Identity added: /Users/nom_d'utilisateur/.ssh/id_rsa

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 :
Host *
AddKeysToAgent yes
UseKeychain yes

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 :

Protégé par Invisible Defender. 317 884 spammeurs ont vu s'afficher une page d'erreur 403.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.