Hostinger

Authentification par clé SSH sur votre VPS

L'objectif est de renforcer la sécurité en remplaçant l'authentification par mot de passe par une authentification par clé SSH.

📌 Conseil : changer les mots de passe pour qu'il soit très long. En effet, si l’on utilise une clé SSH, on ne l’utilisera probablement jamais.

Générer une paire de clés SSH [Machine locale]

Sur la machine locale (ordinateur; pas le VPS), insèrez la commande qui suit :

ssh-keygen -t ed25519

L'option -t ed25519 est un algorithme sûr et rapide. 🔒

Normalement, vous devriez voir le message suivant :

Generating public/private ed25519 key pair.
Enter file in which to save the key (/<chemin>/.ssh/id_ed25519):

Appuyer sur Entrée pour accepter l'emplacement.

Ensuite, le terminal va vous proposer une phrase secrète pour protéger votre clé. C'est facultatif mais fortement recommandé.

Enter passphrase (empty for no passphrase):

❓ Pourquoi utiliser une phrase secrète avec une clé SSH si on veut éviter les mots de passe ?


La phrase secrète protège localement votre clé privée, stockée sur votre ordinateur. Elle ne transite jamais sur le réseau, contrairement à un mot de passe SSH classique.


Comme elle est utilisée uniquement sur votre machine (votre ordinateur), elle peut être plus simple, tout en restant utile en cas de vol ou d’accès non autorisé. 😉

Vous allez recevoir deux informations :

  • La clé privée, à conserver précieusement sur votre ordinateur. Elle ne doit jamais être partagée.
  • La clé publique, à copier sur le VPS pour autoriser la connexion.

Ces deux clés sont générés et copiés dans la machine locale :

  • Clé privée : ~/.ssh/id_ed25519
  • Clé publique : ~/.ssh/id_ed25519.pub

Copier la clé publique dans le VPS

Dans votre machine locale, tapez la commande suivante :

sudo ssh-copy-id -i ~/.ssh/id_ed25519.pub -p 2200 perruche@<ip_du_serveur>

Il va vous demander le mot de passe cette fois, mais pas les prochaines fois.

Se connecter au serveur

Connectez-vous au serveur et il vous demandera la phrase secrète qu’une seule fois par session :

ssh perruche@<ip_du_serveur> -p 2200