Comment créer des clés SSH avec OpenSSH sur MacOS ou Linux ⋆ ALexHost SRL

Testez vos compétences sur tous nos services d'hébergement et bénéficiez de 15% de réduction!.

Utilisez le code à la caisse :

Skills
20.01.2025
No categories

Comment créer des clés SSH avec OpenSSH sur MacOS ou Linux

Dans le monde des communications à distance sécurisées, SSH (Secure Shell) est l’un des protocoles les plus couramment utilisés pour se connecter à des serveurs distants. SSH fournit une méthode sécurisée pour se connecter à des machines distantes et exécuter des commandes sur un réseau. L’un des moyens les plus sûrs de s’authentifier à l’aide de SSH est d’utiliser des clés SSH, qui permettent une authentification sans mot de passe et ajoutent une couche de sécurité supplémentaire. Les clés SSH se présentent sous forme de paires : une clé privée et une clé publique. Dans cet article, nous verrons comment créer des clés SSH à l’aide d’OpenSSH sur macOS ou Linux.

Que sont les clés SSH ?

Lesclés SSH sont une paire de clés cryptographiques utilisées pour authentifier un client (votre ordinateur) auprès d’un serveur SSH. La clé publique est placée sur le serveur et la clé privée est conservée sur la machine du client. Lorsque vous tentez de vous connecter, le serveur compare la clé publique à la clé privée pour vérifier votre identité. Contrairement aux mots de passe, les clés SSH ne sont pas vulnérables aux attaques par force brute, ce qui en fait une méthode d’authentification hautement sécurisée.

Pourquoi utiliser des clés SSH ?

  • Sécurité renforcée: Les clés SSH sont plus difficiles à décrypter que les mots de passe traditionnels, ce qui réduit le risque d’accès non autorisé.
  • Authentification sans mot de passe: Une fois configurées, les clés SSH vous permettent de vous connecter aux serveurs sans avoir à saisir un mot de passe à chaque fois.
  • Processus automatisés: Les clés SSH sont idéales pour automatiser les scripts, les sauvegardes et les transferts de fichiers qui nécessitent un accès à distance sécurisé.

Conditions préalables

Pour suivre ce guide, vous aurez besoin de :

  1. Une machine macOS ou Linux avec OpenSSH installé (OpenSSH est inclus par défaut sur les deux plateformes).
  2. Un accès à un serveur distant où vous placerez la clé publique.

Guide étape par étape pour la création de clés SSH

Étape 1 : Ouvrir un terminal

Sous macOS et Linux, l’application Terminal fournit l’interface permettant d’exécuter des commandes en ligne. Pour ouvrir le terminal, procédez comme suit

  • macOS: Recherchez “Terminal” dans Spotlight (appuyez sur Cmd Espace) ou trouvez-le sous Applications > Utilitaires.
  • Linux: Appuyez sur Ctrl Alt T, ou recherchez Terminal dans votre menu d’applications.

Étape 2 : Générer la paire de clés SSH

Pour générer une nouvelle paire de clés SSH, utilisez la commande suivante dans le terminal :

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

Explication des options :

  • t rsa: spécifie le type de clé à créer. RSA est l’un des algorithmes les plus couramment utilisés.
  • b 4096: Définit la longueur de la clé à 4096 bits pour une meilleure sécurité.
  • C “your_email@example.com”: Ceci ajoute un commentaire à la clé, généralement utilisé pour identifier la clé. Remplacez-le par votre adresse électronique ou un nom descriptif.

Une fois que vous aurez exécuté cette commande, vous obtiendrez un résultat similaire à celui-ci :

Génération d'une paire de clés rsa publiques/privées.
Saisissez le fichier dans lequel vous souhaitez enregistrer la clé (/home/votre nom d'utilisateur/.ssh/id_rsa) :

Étape 3 : Choix de l’emplacement du fichier (facultatif)

Par défaut, la clé sera enregistrée dans le répertoire .ssh de votre dossier personnel sous les noms id_rsa (clé privée) et id_rsa.pub (clé publique). Appuyez sur Entrée pour confirmer l’emplacement par défaut, ou vous pouvez spécifier un chemin différent.

Vous pouvez également spécifier un autre chemin d’accès :

Saisissez le fichier dans lequel vous souhaitez enregistrer la clé (/Users/votre nom d'utilisateur/.ssh/id_rsa) : [Appuyez sur Entrée]

Étape 4 : Définir une phrase de passe (facultatif mais recommandé)

Ensuite, il vous sera demandé de définir une phrase de passe pour votre clé :

Entrez la phrase de passe (vide pour aucune phrase de passe) :

Une phrase de passe fournit un niveau de sécurité supplémentaire en vous obligeant à la saisir chaque fois que vous utilisez votre clé privée. Vous pouvez laisser ce champ vide si vous préférez ne pas utiliser de phrase de passe (bien que cela soit recommandé pour une sécurité accrue).

Si vous définissez une phrase de passe, veillez à ce que vous puissiez vous en souvenir ou à ce qu’elle soit stockée en toute sécurité.

Étape 5 : Confirmer la création de la paire de clés

Une fois les étapes terminées, vous obtiendrez un résultat similaire à celui-ci :

Cela indique que la clé privée (id_rsa) et la clé publique (id_rsa.pub) ont été créées avec succès et stockées dans le répertoire .ssh.

Étape 6 : Copier la clé publique sur le serveur

Maintenant que vous avez généré votre paire de clés SSH, vous devez copier la clé publique sur le serveur distant où vous souhaitez vous connecter.

Vous pouvez utiliser la commande ssh-copy-id pour automatiser ce processus :

ssh-copy-id user@your-server.com

Remplacez user@your-server.com par votre nom d’utilisateur et votre adresse de serveur. Vous serez invité à saisir votre mot de passe pour le serveur distant.

Si ssh-copy-id n’est pas disponible, vous pouvez copier manuellement la clé publique :

  1. Affichez le contenu de votre clé publique en exécutant :
    cat ~/.ssh/id_rsa.pub
  2. Copiez le résultat et collez-le dans le fichier.ssh/authorized_keys du serveur distant. Vous pouvez le faire en vous connectant au serveur :
    ssh user@your-server.com

    Ensuite, créez le répertoire .ssh (s’il n’existe pas) et ajoutez la clé :

    mkdir -p ~/.ssh
    echo "votre-clé-publique-copiée" >> ~/.ssh/authorized_keys
    chmod 600 ~/.ssh/authorized_keys

Étape 7 : Tester la connexion SSH

Une fois la clé publique copiée sur le serveur distant, vous pouvez tester la connexion :

ssh user@your-server.com

Si tout est configuré correctement, vous devriez pouvoir vous connecter sans entrer de mot de passe (sauf si vous avez défini une phrase de passe pour votre clé, auquel cas vous devrez l’entrer).

Gestion des clés SSH

  • Listez toutes les clés: Si vous avez plusieurs clés, vous pouvez les lister en naviguant jusqu’au répertoire .ssh :
    ls ~/.ssh
  • Ajouter des clés à l’agent SSH: Si vous souhaitez éviter de saisir la phrase d’authentification à plusieurs reprises, vous pouvez ajouter votre clé à l’agent SSH :
    eval "$(ssh-agent -s)"
    ssh-add ~/.ssh/id_rsa

Conclusion

La création de clés SSH avec OpenSSH sur macOS ou Linux est un processus simple qui améliore considérablement la sécurité des connexions aux serveurs distants. En suivant les étapes décrites dans ce guide, vous pouvez générer une paire de clés et mettre en place une authentification sans mot de passe, ce qui facilite la gestion sécurisée des machines distantes. Les clés SSH sont un outil essentiel pour tout développeur, administrateur système ou toute personne travaillant fréquemment avec des serveurs distants.

Testez vos compétences sur tous nos services d'hébergement et bénéficiez de 15% de réduction!.

Utilisez le code à la caisse :

Skills