Aller au contenu
EuroVPSEuroVPS

Utiliser des clés SSH pour l'authentification

FAQ EuroVPS

Mis à jour le 2 min de lecture

Shared FAQ page chrome (breadcrumb, dates, read time, «Continuer la lecture», enquiry block, category labels): see INDEX-AND-CHROME.md. Translate once.

Body

Pourquoi des clés ?

L'authentification par clé publique repose sur un jeu de clés propre à chaque utilisateur, appelé paire clé publique / clé privée. La clé publique générée sur la machine cliente SSH est copiée dans le fichier authorized_keys du serveur SSH, qui considère alors cette clé comme de confiance. À la connexion, le serveur envoie un défi que seul le détenteur de la clé privée correspondante peut signer ; le mot de passe n'est jamais transmis.

Mettre en place l'authentification SSH par clé

Créez le répertoire des clés.

mkdir -p ~/.ssh

Restreignez l'accès au répertoire .ssh au seul utilisateur SSH.

chmod 700 ~/.ssh

Générez la paire de clés.

ssh-keygen -t rsa

Suivez les messages à l'écran pour créer les clés de façon interactive ; saisissez un mot de passe (facultatif) pour protéger la clé privée. Il vous sera demandé à chaque session SSH si vous en avez défini un.

Copiez la clé publique dans le fichier authorized_keys du serveur.

Vous pouvez copier le texte du fichier ~/.ssh/id_rsa.pub et le coller dans le fichier ~/.ssh/authorized_keys du serveur, ou utiliser l'utilitaire ssh-copy-id avec la forme ci-dessous pour transférer la clé.

ssh-copy-id -i ~/.ssh/id_rsa.pub user@server

L'option -i indique le fichier d'identité, c'est-à-dire la clé publique.

Désactivez l'authentification par mot de passe et activez l'authentification par clé publique.

Connectez-vous au serveur en root, ouvrez le fichier /etc/ssh/sshd_config avec un éditeur de texte et vérifiez que les directives sont réglées comme ci-dessous.

PubkeyAuthentication yes
PasswordAuthentication no

Si la clé est celle de l'utilisateur root, réglez PermitRootLogin prohibit-password pour que root puisse se connecter avec une clé mais jamais avec un mot de passe. Pour de nouvelles clés, préférez ssh-keygen -t ed25519.

PermitRootLogin prohibit-password

Redémarrez le service SSH sur le serveur et testez la connexion depuis le client ; utilisez l'option -vv de la commande SSH si vous rencontrez un problème de connexion.

ssh -vv root@yourhost.com

Conseils

Le répertoire et les fichiers doivent appartenir à cet utilisateur, avec les bonnes permissions : chmod 600 ~/.ssh/id_rsa

Extrait de la FAQ EuroVPS.

Plus dans la catégorie « Guides »

Votre prochain partenaire d'infrastructure

Encore
une question ?

Dites-nous ce que vous cherchez à faire. Un ingénieur lira votre message et vous répondra.

+357 222 32280
Un ingénieur EuroVPS transportant un nœud serveur dans la salle du datacenter
Une conversation avec les personnes qui prendront soin de votre infrastructure.

Commençons par votre environnement.

Un peu de contexte nous aide à démarrer la bonne conversation.

Nous utiliserons vos coordonnées pour répondre à votre demande. Politique de confidentialité