Se connecter en SSH par échange de clés

false

Vous vous êtes probablement déjà connecté à votre serveur d’hébergement via des interfaces graphiques type Plesk, cPanel, DirectAdmin ou d’autres. Dans cet article, nous allons apprendre à se connecter en SSH par échange de clés.

Pour des raisons de sécurité liées à votre serveur d’hébergement, nous vous conseillons de désactiver l’authentification par mot de passe et d’imposer l’authentification par clé SSH. Ainsi, le brute-force et la fuite de mot de passe n’auront aucune incidence puisque personne ne pourra s’authentifier sans le fichier de clé privée.

Qu’est ce que la connexion SSH par échange de clés publique/privée ?

La connexion SSH par échange de clés est une méthode de sécurisation de la connexion SSH (Secure Shell). Elle permet de s’authentifier sur un serveur distant en utilisant une paire de clés publique et privée au lieu d’un mot de passe. La clé publique est utilisée pour chiffrer les données, la clé privée est utilisée pour déchiffrer les données.

Pour se connecter à un serveur en utilisant SSH, le client envoie d’abord sa clé publique au serveur. Le serveur vérifie alors que la clé publique correspond à une clé privée qui a déjà été enregistrée sur le serveur. Si les clés correspondent, le serveur autorise la connexion et génère une session chiffrée entre le client et le serveur en utilisant la clé publique pour chiffrer les données envoyées et la clé privée pour déchiffrer les données reçues.

Il est possible d’ajouter une protection complémentaire à la clé privée en y associant une passphrase (mot de passe complexe) qui devra être saisie à chaque fois que vous utiliserez votre clé. Cela peut sembler fastidieux, mais cette protection supplémentaire permet de protéger votre clé privée si elle est volée ou perdue.

Créer une paire de clés SSH avec Linux

Si vous ne disposez pas encore de clé, il n’est pas trop tard ! Nous allons en générer une paire.

Dans votre terminal, entrez la commande suivante :

ssh-keygen -t ed25519 -C "login" -Z [email protected]

Important : Il est fortement recommandé d’utiliser Ed25519 pour une sécurité et des performances accrues. Cependant, si pour une raison quelconque vous ne pouvez pas utiliser ces clés, vous pouvez créer une clé RSA4096, comme option de secours, en utilisant la commande ssh-keygen -o -b 4096

Si vous appuyez sur entrée, la commande génèrera une paire de clés Ed25519 par défaut dans votre répertoire utilisateur ~/.ssh/ avec un nom id_ed25519 pour la clé privée et id_ed25519.pub pour la clé publique.

Vous pouvez également renommer cette paire dès que cela vous sera demandé :

Enter file in which to save the key (~/.ssh/id_ed25519):

Si vous voulez spécifier un autre nom pour la paire de clés dès la première commande, utilisez l’option -f suivie du nom de fichier souhaité, par exemple :

ssh-keygen -t ed25519 -C "login" -Z [email protected] -f mon_nom_de_fichier

Il vous sera demandé de saisir une phrase secrète pour protéger votre clé privée, vous pouvez laisser vide si vous ne voulez pas de mot de passe (déconseillé).

Enter passphrase (empty for no passphrase):

Puis confirmez votre passphrase :

Enter same passphrase again:

Ne négligez pas la protection de votre clé privée ! Changez les permissions pour que vous seul(e) puissiez y accéder :

chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_ed25519

Vous disposez désormais d’une paire de clés SSH générée et prête à être utilisée.

Créer une paire de clés SSH avec Windows (Putty)

Il est également possible de créer une paire de clés sur Windows avec le logiciel Putty. Démarrez l’outil « PuTTYgen » qui est inclus dans le package Putty et suivez les étapes suivantes pour générer votre paire de clés SSH :

création paire de clés ssh ed25519
  • Cliquez sur « Generate » pour commencer à générer la paire de clés.
  • Bougez votre souris autour de la zone vide pour ajouter de l’entropie au processus de génération de clés.
paire de clés putty
  • Entrez un nom de fichier pour sauvegarder la clé privée, et un commentaire pour vous rappeler à quoi sert cette clé.
  • Entrez un mot de passe pour protéger votre clé privée (recommandé).
  • Cliquez sur « Save private key » pour sauvegarder la clé privée sur votre ordinateur.
  • Cliquez sur « Save public key » pour sauvegarder la clé publique sur votre ordinateur.
clé privée clé publique

Se connecter en SSH depuis un poste Linux

Pour se connecter à un serveur en utilisant SSH avec une clé privée depuis un poste Linux, vous pouvez utiliser la commande suivante :

ssh -i path/to/private_key [email protected]

Où « path/to/private_key » est le chemin vers votre clé privée, « user » est votre nom d’utilisateur sur le serveur, et « host » est l’adresse IP ou le nom d’hôte du serveur.

Avant de se connecter, il est possible que vous deviez d’abord autoriser votre clé publique sur le serveur, cela dépend de la configuration du serveur.

Si vous voulez éviter de taper le chemin complet à chaque fois, vous pouvez également ajouter un alias dans votre fichier .bashrc ou .bash_profile pour simplifier la commande :

alias myserver='ssh -i path/to/private_key [email protected]t'

Vous pourriez alors vous connecter en tapant simplement myserver dans votre terminal.

Se connecter en SSH depuis un poste Windows

Pour se connecter depuis un poste Windows, vous aurez deux possibilités :

1. Activer le client SSH de Windows

Pour cela, rendez-vous dans les fonctionnalités facultatives du système d’exploitation.

activer ssh sur windows
Démarrer > Paramètres > Applications > Fonctionnalités facultatives

Plus d’informations sur : https://learn.microsoft.com/fr-fr/windows/terminal/tutorials/ssh

Une fois cette application installée, les commandes sont exactement les mêmes que pour un poste Linux.

2. Se connecter en SSH avec Putty

La deuxième option consiste à utiliser le logiciel bien connu des administrateurs : Putty.

  • Téléchargez et installez Putty depuis le dépôt officiel : https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
  • Ouvrez PuTTY, entrez l’adresse IP ou le nom d’hôte du serveur auquel vous souhaitez vous connecter dans le champ « Hôte » et sélectionnez « SSH » dans le menu « Protocole ».
Se connecter en SSH par échange de clés avec putty
  • Cliquez sur l’onglet « Auth » et sélectionnez le fichier de clé privée dans le champ « Private key file for authentication ».
sélectionner clé ssh putty

Cliquez sur le bouton « Open » pour ouvrir une fenêtre de terminal et vous connecter au serveur en utilisant votre clé publique.

Conclusion : se connecter en SSH depuis Windows & Linux

Vous avez désormais tous les outils pour vous connecter et administrer votre serveur d’hébergement wordpress (ou autre) avec openSSH et de manière sécurisée !

Rémi

Rémi

Plus de 10 ans dans la tech, j'aborde sur ce blog plusieurs sujets liés au web (hébergement, code, référencement, etc.) avec passion.

Et si vous avez encore 5 minutes

Faites décoller vos performances digitales

Qu'attendre de cette prise de contact ?

Après avoir transmis vos coordonnées, un expert vous recontactera dans les minutes qui suivent afin de discuter de votre besoin. Il commencera à réfléchir aux solutions envisageables et vous proposera des levier à mettre en place.

A l’issue de ce bref appel, vous serez en mesure d’y voir un peu plus clair sur les outils dont vous pourriez bénéficier.

En résumé, cet appel vous permettra de :

Vous pouvez aussi faire le choix de nous contacter directement en composant le numéro de téléphone suivant :

Quels services recherchez vous ? *
* Champs obligatoires