Cours
Vous en avez assez de taper votre mot de passe à chaque fois que vous vous connectez à un serveur distant ou à un dépôt GitHub ?
Les clés SSH sont ce que vous recherchez. Ils offrent une alternative sûre et pratique à l'authentification par mot de passe lorsque vous souhaitez accéder à des systèmes distants. Les clés SSH offrent également une sécurité plus forte que les mots de passe, car elles sont pratiquement impossibles à déchiffrer par des attaques par force brute.
Au fil des ans, ils sont devenus la norme pour les connexions à distance sécurisées dans les environnements professionnels. Ils sont indispensables à tous ceux qui travaillent avec des serveurs distants, des services cloud ou des systèmes de contrôle de version comme Git.
Dans cet article, vous apprendrez à générer des clés SSH, à les ajouter à des systèmes distants et à mettre en œuvre les meilleures pratiques pour les gérer en toute sécurité.
Que sont les clés SSH ?
Les clés SSH sont des identifiants cryptographiques qui vous permettent d'accéder à des systèmes distants en toute sécurité sans avoir à saisir de mot de passe. Ainsi, au lieu de mémoriser des mots de passe complexes comportant des chiffres, des lettres majuscules et des caractères spéciaux, vous créez une paire de clés, l'une publique et l'autre privée.
Considérez votre clé publique comme un cadenas que vous pouvez distribuer librement à tout serveur auquel vous souhaitez accéder. Votreclé privée fonctionne comme la clé unique qui ouvre ces cadenas. Lorsque vous vous connectez à un système distant, celui-ci vérifie si votre clé privée correspond à sa clé publique stockée. S'ils correspondent, vous obtenez un accès immédiat sans avoir à saisir de mot de passe.
La clé publique ne peut pas être utilisée pour déterminer votre clé privée, ce qui rend ce système extrêmement sûr. Votre clé privée doit rester secrète et demeurer sur votre ordinateur. Ne la partagez donc jamais avec qui que ce soit.
> Pour mieux comprendre comment les connexions sécurisées s'intègrent dans le paysage plus large de la cybersécurité, explorez le cours Introduction à la sécurité des données. Introduction à la sécurité des données.
En ce qui concerne les avantages par rapport à l'authentification traditionnelle par mot de passe, voici ceux que vous devez connaître :
- Sécurité renforcée - Contrairement aux mots de passe, les clés SSH ne peuvent pas être devinées ou forcées en raison de leur longueur et de leur complexité (généralement 2048 bits ou plus).
- Plus de commodité - Une fois la configuration établie, vous pouvez vous connecter aux serveurs sans avoir à taper votre mot de passe à chaque fois.
- Facile à automatiser - Parfait pour les scripts et les processus automatisés qui nécessitent une authentification sécurisée.
- Gestion centralisée des accès - Ajoutez ou révoquez des accès en gérant simplement les clés publiques sur vos serveurs.
- Fini la lassitude des mots de passe - Vous n'avez plus besoin de créer, de mémoriser ou de modifier périodiquement des mots de passe complexes.
Les clés SSH fonctionnent avec pratiquement tous les systèmes qui prennent en charge SSH, notamment les serveurs Linux, les plateformes cloud et les référentiels de code comme GitHub et GitLab. Ils sont devenus la norme en matière d'accès à distance sécurisé dans les environnements professionnels.
> Pour les professionnels du cloud, il est essentiel de maîtriser à la fois la sécurité et la rentabilité - en savoir plus dans le cours sur la sécurité et la gestion des coûts AWS.rnenez-en plus dans le cours sur la sécurité et la gestion des coûts d'AWS.
Maintenant que vous savez ce que sont les clés SSH, vous allez apprendre à les générer.
Comment générer des clés SSH
La création de clés SSH ne prend que quelques minutes, quel que soit votre système d'exploitation.
Le processus génère deux fichiers : votre clé privée (qui doit rester en sécurité sur votre ordinateur) et votre clé publique (que vous ajouterez aux serveurs distants).
Générer des clés SSH sous Linux/MacOS
Pour créer des clés SSH sous Linux ou MacOS, vous utiliserez la commande intégrée ssh-keygen
. Pour commencer, ouvrez votre terminal et tapez
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
Cette commande demande à votre système de créer une nouvelle clé RSA avec un cryptage de 4096 bits (très sécurisé) et d'ajouter votre adresse électronique en tant que commentaire pour identification.
Votre système vous demandera où enregistrer la clé et s'il faut ajouter une phrase de passe. L'emplacement par défaut convient à la plupart des utilisateurs, mais laphrase de passe mérite d'être prise en compte.
Une bonne phrase de passe ajoute une couche supplémentaire de sécurité - même si quelqu'un obtient votre fichier de clé privée, il ne peut pas l'utiliser sans connaître cette phrase.
Image 1 - Création d'une paire de clés SSH sous Linux/macOS
Après avoir confirmé vos choix, votre système crée les deux clés dans le répertoire .ssh
de votre dossier personnel :
- Votre clé privée: Le fichier sans extension (comme
id_rsa
). - Votre clé publique: Le fichier avec l'extension
.pub
(commeid_rsa.pub
).
Image 2 - Fichiers clés créés
Générer des clés SSH sous Windows
Les utilisateurs de Windows disposent de deux bonnes options pour créer des clés SSH : Git Bash et WSL.
Git Bash offre une expérience de ligne de commande similaire à celle de Linux/MacOS. Si vous avez installé Git pour Windows, vous disposez déjà de cet outil. Ouvrez Git Bash et utilisez la même commande ssh-keygen
que celle présentée ci-dessus.
Windows Subsystem for Linux (WSL) est une autre bonne option si vous préférez travailler dans un environnement Linux sur votre machine Windows. Les commandes fonctionnent exactement de la même manière que sur un système Linux natif.
Pour ceux qui préfèrent une interface graphique, PuTTYgenoffre une approche plus visuelle.
Image 3 - Génération de la clé PuTTYgen sous Windows
Voici les étapes à suivre pour créer votre paire de clés :
- Lancez PuTTYgen à partir du menu Démarrer.
- Sélectionnez RSA comme type de clé.
- Cliquez sur "Générer" et déplacez votre souris dans la zone vide.
- Ajoutez une phrase de passe pour plus de sécurité.
- Enregistrez vos clés publiques et privées à l'aide des boutons prévus à cet effet.
Image 4 - Fichiers clés créés (2)
Comprendre les fichiers clés
Le processus de génération des clés SSH crée deux fichiers qui fonctionnent par paire.
Votre clé privée doit rester secrète et sécurisée sur votre ordinateur. Considérez-le comme un passe-partout qui prouve votre identité. Les clés privées sont généralement nommées de la même manière :
id_ed25519
(pour les clés Ed25519).id_rsa
(pour les clés RSA).
Votre clé publique peut être partagée librement avec tout système auquel vous souhaitez accéder. Il fonctionne comme une serrure que seule votre clé privée peut ouvrir. Les clés publiques portent toujours le même nom que la clé privée correspondante, plus une extension .pub
.
La sécurité de ce système repose entièrement sur la protection de votre clé privée.
Ne les partagez jamais, ne les envoyez pas par courrier électronique et ne les stockez pas sur des appareils non fiables. Si vous pensez que votre clé privée a été compromise, générez immédiatement une nouvelle paire et mettez à jour tous les serveurs qui disposaient de votre ancienne clé publique.
Vous pouvez consulter le contenu de votre clé publique avec :
cat ~/.ssh/id_rsa.pub
Image 5 - Contenu de la clé publique
La sortie affiche la chaîne complète dont vous aurez besoin lors de la configuration des serveurs distants, que nous examinerons dans la section suivante.
Comment ajouter des clés SSH à des systèmes distants ?
Maintenant que vous avez créé votre paire de clés SSH, vous devez ajouter votre clé publique à chaque système distant auquel vous souhaitez accéder. En clair, ce processus indique au serveur distant de reconnaître votre clé privée comme une forme d'authentification valide.
Ajouter des clés publiques à un serveur distant
Ce processus n'est pas très compliqué ; vous devez simplement ajouter votre clé publique à un fichier spécial sur le serveur distant. Ce fichier, appelé authorized_keys
, contient une liste de clés publiques autorisées à se connecter.
La façon la plus simple d'ajouter votre clé est d'utiliser la commande ssh-copy-id
:
ssh-copy-id username@remote_host
Cette commande se connecte au serveur distant, crée les répertoires nécessaires s'ils n'existent pas et ajoute votre clé publique au fichier authorized_keys
. Vous devrez saisir votre mot de passe une dernière fois au cours de cette procédure.
Image 6 - Contenu du fichier authorized_keys
Si votre système ne dispose pas de la commande ssh-copy-id
, vous pouvez effectuer la même tâche manuellement, mais cela implique quelques étapes.
Suivez ces instructions et exécutez les commandes une par une :
# Display your public key and copy it
cat ~/.ssh/id_rsa.pub
# Connect to your remote server with password authentication
ssh username@remote_host
# Create the .ssh directory if it doesn't exist
mkdir -p ~/.ssh
# Open or create the authorized_keys file and paste your public key
echo "your_copied_public_key" >> ~/.ssh/authorized_keys
Et c'est tout !
Pour les serveurs sur lesquels vous devez fournir votre clé à un administrateur système, envoyez-lui simplement le contenu de votre fichier de clé publique. Ils l'ajouteront au serveur pour vous.
Configuration de SSH pour l'authentification par clé
Après avoir ajouté votre clé publique, vous pouvez configurer le serveur SSH pour renforcer la sécurité. Ces étapes requièrent des privilèges administratifs (sudo
).
Pour modifier la configuration du serveur SSH, ouvrez le fichier de configuration principal :
sudo nano /etc/ssh/sshd_config
Image 7 - Contenu du fichier sshd_config
Dans ce fichier, vous pouvez apporter quelques améliorations en matière de sécurité :
- Définissez
PasswordAuthentication no
pour désactiver complètement les connexions par mot de passe. - Assurez-vous que l'adresse
PubkeyAuthentication yes
est activée (elle l'est généralement par défaut). - Envisagez de configurer
PermitRootLogin prohibit-password
pour empêcher l'accès à la racine à l'aide de mots de passe.
Après avoir effectué des modifications, n'oubliez pas de redémarrer le service SSH pour les appliquer :
sudo systemctl restart sshd
Il convient également de noter qu'il est essentiel que les autorisations de fichiers soient correctes pour que l'authentification par clé SSH fonctionne. Le serveur SSH est très attentif à la sécurité et rejettera les connexions si les autorisations sont trop ouvertes. Assurez-vous que vos fichiers disposent de ces autorisations :
- Votre répertoire personnel :
chmod 755 ~
. - Le répertoire
.ssh
:chmod 700 ~/.ssh
. - Le fichier
authorized_keys
:chmod 600 ~/.ssh/authorized_keys
.
Une fois votre clé publique en place et le serveur correctement configuré, vous pouvez désormais vous connecter à des serveurs distants sans saisir votre mot de passe.
Dans la section suivante, je vous montrerai comment utiliser vos clés SSH pour l'authentification.
Comment utiliser les clés SSH pour l'authentification
Vous êtes maintenant prêt à profiter de la commodité et de la sécurité de l'authentification sans mot de passe. Voyons maintenant comment se connecter aux serveurs et aux dépôts de code à l'aide de vos clés SSH.
Connexion à un serveur distant avec authentification par clé SSH
La connexion à un serveur avec des clés SSH fonctionne comme un accès SSH normal, mais sans l'invite de mot de passe. Ouvrez votre terminal et utilisez la commande SSH standard :
ssh username@hostname
Si vous avez stocké votre clé dans l'emplacement par défaut (~/.ssh/id_rsa
), SSH la trouve et l'utilise automatiquement. Si vous avez défini une phrase de passe lors de la création de votre clé, vous devrez la saisir, mais une seule fois par session.
Pour les clés stockées dans des emplacements non standard, spécifiez le chemin d'accès avec l'option -i
:
ssh -i ~/path/to/your/private_key username@hostname
Image 8 - Connexion à un serveur distant via SSH
Taper votre phrase de passe à chaque fois que vous vous connectez peut devenir fastidieux. C'est là que l'agent SSH s'avère utile. Ils fonctionnent en arrière-plan et conservent en mémoire vos clés privées déchiffrées de manière sécurisée, de sorte que vous ne devez saisir votre phrase de passe qu'une seule fois.
Pour démarrer l'agent SSH et ajouter votre clé :
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
Image 9 - Agent SSH
Vous saisissez votre phrase d'authentification une seule fois et l'agent se charge de l'authentification pour toutes les connexions ultérieures au cours de votre session. Cette fonction est utile lorsque vous devez vous connecter plusieurs fois à des serveurs ou lorsque vous utilisez des applications qui établissent plusieurs connexions SSH.
Sous macOS, l'agent SSH démarre automatiquement et vous pouvez activer l'option "remember passphrase in keychain" lors de la première connexion pour éviter de la saisir à nouveau lors des sessions suivantes. Malheureusement, cette fonctionnalité n'est spécifique qu'à macOS.
Utilisation de clés SSH pour l'authentification GitHub/GitLab
Des services tels que GitHub et GitLab prennent également en charge l'authentification par clé SSH et la recommandent plutôt que l'authentification par mot de passe.
Pour ajouter votre clé SSH à GitHub, commencez par ouvrir GitHub et connectez-vous à votre compte. Cliquez ensuite sur votre image de profil dans le coin supérieur droit et sélectionnez "Paramètres". Dans la barre latérale, cliquez sur "SSH et clés GPG" :
Image 10 - Configuration de l'authentification GitHub (1)
Cliquez sur "Nouvelle clé SSH", donnez à votre clé un titre descriptif, collez votre clé publique dans le champ "Clé", et enfin, cliquez sur "Ajouter une clé SSH" :
Image 11 - Configuration de l'authentification GitHub (2)
Lorsque tout est terminé, vous verrez un message de succès vous informant que la clé a été ajoutée à votre compte :
Image 12 - Configuration de l'authentification GitHub (3)
Après avoir ajouté votre clé, vous pouvez cloner, extraire et pousser vers des dépôts en utilisant des URL SSH au lieu d'URL HTTPS. C'est la commande que vous utiliserez :
git clone git@github.com:username/repository.git
Image 13 - Clonage d'un répertoire par SSH
C'est tout ce qu'il y a à faire. Le processus pour GitLab est très similaire.il suffit de rechercher les clés SSH dans les paramètres de votre compte.
Pour résumer, l'utilisation de SSH pour les opérations Git signifie que vous n'aurez pas besoin d'entrer votre nom d'utilisateur et votre mot de passe à chaque fois que vous interagissez avec le dépôt distant. Votre clé SSH assure automatiquement une authentification sécurisée.
Si vous travaillez avec plusieurs services (comme GitHub et GitLab), vous pouvez envisager de créer des clés distinctes pour chaque service. Cette approche améliore la sécurité en limitant l'exposition si une clé est compromise.
> Pour aller plus loin dans la gestion des dépôts, consultez la section Concepts intermédiaires de GitHub.consultez Concepts intermédiaires de GitHub.
Gestion des clés SSH
Comme vous utilisez des clés SSH sur plusieurs systèmes et services, vous aurez tôt ou tard besoin d'un moyen de les gérer.
Dans cette section, je vous montrerai ce qu'il faut faire pour assurer le suivi des clés existantes, supprimer les clés anciennes ou compromises et résoudre les problèmes éventuels.
Afficher et répertorier les clés SSH
Vous pouvez visualiser toutes vos clés SSH en consultant le répertoire .ssh
dans votre dossier personnel. Ce répertoire contient vos clés privées et les clés publiques correspondantes.
Exécutez la commande suivante pour répertorier tous les fichiers de votre répertoire SSH :
ls -la ~/.ssh
Image 14 - Tous les fichiers du répertoire .ssh
Cette commande affiche tous les fichiers du répertoire, y compris les fichiers cachés. Vous verrez généralement des fichiers comme :
id_rsa
- Votre clé privée RSA.id_rsa.pub
- Votre clé publique RSA.known_hosts
- Liste des serveurs auxquels vous vous êtes connecté.authorized_keys
- Clés publiques qui peuvent accéder à cette machine (si elle est configurée en tant que serveur).config
- La configuration de votre client SSH (si vous en avez créé un).
Si vous avez créé plusieurs clés pour différents services, vous verrez apparaître des paires de clés supplémentaires avec les noms que vous avez spécifiés lors de la création.
Pour vérifier le contenu d'une clé publique spécifique, exécutez la commande suivante :
cat ~/.ssh/id_rsa.pub
Image 15 - Contenu de la clé publique
Cela permet d'afficher la clé publique complète, qui commence par ssh-rsa
et se termine par votre commentaire (généralement votre adresse électronique).
Suppression des clés SSH
Au fil du temps, vous pouvez être amené à supprimer des clés SSH pour différentes raisons : vous passez à un type de clé plus puissant, un périphérique a été perdu ou vous n'avez plus besoin d'accéder à certains systèmes.
Pour supprimer les clés d'un serveur distantvous devez modifier le fichier authorized_keys
:
# Connect to the remote server
ssh username@remote_host
# Open the authorized_keys file:
nano ~/.ssh/authorized_keys
Pour GitHub et GitLabla suppression des clés est encore plus simple :
- Accédez aux paramètres de votre compte.
- Naviguez jusqu'à la section "Clés SSH et GPG".
- Recherchez la clé que vous souhaitez supprimer.
- Cliquez sur l'icône de suppression en regard de cette clé.
Image 16 - Confirmation de la suppression de la clé sur GitHub
Enfin, pour supprimer les clés de votre machine localeil suffit de supprimer les fichiers :
rm ~/.ssh/id_rsa ~/.ssh/id_rsa.pub
Remplacez id_rsa
par le nom de la clé que vous souhaitez supprimer.
Si vous devez supprimer un hôte distant de votre fichier known_hosts
(généralement après la reconfiguration d'un serveur), exécutez cette commande :
ssh-keygen -R hostname
Cela supprime l'entrée de l'hôte spécifié de votre fichier known_hosts
, ce qui est pratique lorsque vous obtenez l'erreur "host key verification failed" (échec de la vérification de la clé de l'hôte).
Résolution des problèmes courants liés aux clés SSH
L'authentification par clé SSH peut parfois échouer pour toutes sortes de raisons. Dans cette section, je vous montrerai des solutions à des problèmes courants.
- Questions relatives aux autorisations. Pour des raisons de sécurité, SSH est strict en ce qui concerne les autorisations de fichiers. Si vos clés ont des autorisations incorrectes, l'authentification échouera. Corrigez cela avec :
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub
chmod 600 ~/.ssh/authorized_keys
- Problèmes de phrase d'authentification. Si vous avez oublié votre phrase de passe, il n'y a malheureusement aucun moyen de la récupérer. Vous devrez suivre les étapes suivantes :
- Générez une nouvelle paire de clés.
- Ajoutez la nouvelle clé publique à vos systèmes distants.
- Supprimez l'ancienne paire de clés.
- Connexion refusée. Si vous obtenez une erreur "Connexion refusée", il peut y avoir de nombreuses raisons. Voici les mesures à prendre pour y remédier :
- Vérifiez que le serveur fonctionne et qu'il est joignable.
- Vérifiez que le service SSH fonctionne sur le serveur.
- Confirmez que vous utilisez le bon port (22 par défaut).
- Échecs d'authentification. Si vous obtenez l'erreur "Permission refusée (publickey)", procédez comme suit pour contourner le problème :
- Assurez-vous que votre clé publique est correctement ajoutée au fichier
authorized_keys
du serveur. - Vérifiez que le serveur autorise l'authentification par clé publique.
- Vérifiez que vous utilisez le nom d'utilisateur et le nom d'hôte corrects.
- Assurez-vous que vous utilisez la bonne clé privée.
- Questions relatives à l'agent. Ces problèmes peuvent survenir si l'agent SSH ne fonctionne pas. Voici ce que vous devez faire :
- Confirmez que l'agent est en cours d'exécution à l'adresse
ssh-add -l
. - S'il n'est pas en cours d'exécution, démarrez-le à l'aide de
eval "$(ssh-agent -s)"
. - Ajoutez votre clé à l'aide de
ssh-add ~/.ssh/id_rsa
.
Nous allons maintenant explorer les meilleures pratiques en matière de gestion des clés SSH.
Bonnes pratiques pour la gestion des clés SSH
L'authentification SSH est très utile pour protéger vos systèmes contre les accès indésirables, mais soyons honnêtes, elle peut parfois s'avérer un peu fastidieuse. Les conseils que je vais vous présenter visent à trouver le juste milieu entre une sécurité renforcée et la commodité au quotidien.
Utiliser des phrases de passe fortes pour les clés SSH
La phrase de passe de votre clé privée constitue la dernière ligne de défense si quelqu'un obtient votre fichier de clés. Choisissez toujours une phrase de passe forte et unique, difficile à deviner mais facile à mémoriser.
Une bonne phrase de passe présente les caractéristiques suivantes :
- Contient au moins 12 à 15 caractères.
- Comprend un mélange de lettres majuscules, de lettres minuscules, de chiffres et de caractères spéciaux.
- Évite les schémas courants ou les mots du dictionnaire.
- N'est pas réutilisé à partir d'autres services.
Pour les clés qui accèdent à des systèmes critiques ou à des environnements de production, une phrase de passe forte est absolument essentielle. L'inconvénient mineur de devoir le taper de temps en temps l'emporte largement sur les risques de sécurité.
Lorsque vous utilisez l'agent SSH, vous ne devez saisir votre phrase de passe qu'une seule fois par session. Les phrases de passe fortes sont donc pratiques pour une utilisation quotidienne. Envisagez d'utiliser un gestionnaire de mots de passe pour stocker en toute sécurité des phrases de passe complexes.
Utiliser des clés différentes pour des systèmes différents
Vous devez toujours créer des paires de clés distinctes pour différents services ou niveaux de sécurité au lieu d'utiliser une seule clé partout. Cette compartimentation limite votre exposition si l'une des clés est compromise.
Par exemple, vous pouvez créer :
- Une clé de travail pour les serveurs de votre entreprise.
- Une clé personnelle pour vos projets domestiques.
- Une clé dédiée à GitHub ou GitLab.
- Une clé de haute sécurité pour les systèmes de production.
Là encore, il s'agit d'un léger inconvénient, mais l'effort supplémentaire en vaut la peine.
Lorsque vous créez plusieurs clés, utilisez des noms de fichiers descriptifs qui identifient leur objectif :
ssh-keygen -t rsa -b 4096 -f ~/.ssh/github_rsa -C "github access"
Pour utiliser une clé spécifique lors de la connexion, vous pouvez facilement établir un fichier de configuration :
# ~/.ssh/config
Host github.com
IdentityFile ~/.ssh/github_rsa
Host companyserver
HostName 255.255.255.255
User ubuntu
IdentityFile ~/.ssh/company_server_rsa
Cette approche garantit qu'en cas de compromission d'une clé, il vous suffira de remplacer cette clé unique plutôt que de mettre à jour l'ensemble de vos systèmes.
Rotation régulière des clés SSH
Le remplacement périodique de vos clés SSH réduit le risque de compromissions non détectées et respecte les meilleures pratiques en matière de sécurité.
La fréquence de cette opération dépend de la sensibilité :
- Projets personnels : Tous les 1 à 2 ans.
- Systèmes d'entreprise : Tous les 6 à 12 mois.
- Environnements de haute sécurité : Tous les 3 à 6 mois.
- Immédiatement après le départ des membres de l'équipe ou en cas d'activité suspecte.
Le processus de rotation des clés SSH implique la création de nouvelles paires de clés, l'ajout des nouvelles clés publiques à vos serveurs, la vérification du fonctionnement des nouvelles clés, la suppression des anciennes clés publiques des serveurs et la suppression des anciennes clés privées de votre machine locale.
En d'autres termes, cela prend du temps, alors prévoyez-le dans votre emploi du temps.
En outre, il est bon de tenir un registre des clés qui ont accès aux différents systèmes. Pour les organisations, envisagez de mettre en place des outils automatisés de gestion des clés qui traitent systématiquement la rotation.
Renforcer l'authentification de la clé SSH
La mesure de sécurité la plus stricte que vous puissiez mettre en œuvre consiste à désactiver complètement l'authentification par mot de passe sur vos serveurs et à exiger des clés SSH pour toutes les connexions.
Procédez comme suit pour mettre en œuvre l'authentification par clé :
# Edit your SSH server configuration
sudo nano /etc/ssh/sshd_config
# Set these critical security options
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no
# Restart the SSH service
sudo systemctl restart sshd
Cette configuration permet d'éviter totalement les attaques de mot de passe par force brute.
Mais avant d'effectuer ces changements, assurez-vous que l'authentification de votre clé SSH fonctionne correctement afin d'éviter de vous bloquer. Cela arrive.
Récapitulation des clés SSH
En conclusion, on peut dire que les clés SSH transforment la façon dont vous vous connectez aux systèmes distants. Le passage des mots de passe à l'authentification par clé améliore votre flux de travail quotidien, tant sur le plan de la sécurité que sur celui de la commodité.
Un autre avantage est que le processus est peu complexe. Vous devez générer les clés, les ajouter aux serveurs auxquels vous accédez et vous connecter sans saisir de mot de passe. C'est tout ! Par rapport à l'authentification traditionnelle par mot de passe, les clés SSH rendent vos connexions plus rapides et plus fiables, et bloquent également les méthodes d'attaque courantes telles que la devinette du mot de passe.
N'oubliez pas que votre clé privée doit être protégée. Utilisez une phrase de passe forte, gardez votre clé en sécurité et suivez les bonnes pratiques décrites dans cet article, en particulier celles concernant le cloisonnement des clés SSH.
Si vous souhaitez en savoir plus sur les clés SSH et le travail avec la ligne de commande en général, ces cours de DataCamp sont votre meilleure prochaine étape :
Devenez ingénieur en données
FAQ
Quels sont les avantages des clés SSH par rapport aux mots de passe ?
Les clés SSH offrent une sécurité plus forte car elles ne peuvent pas être forcées comme le sont les mots de passe. Ils sont également plus pratiques car vous ne devez pas saisir un mot de passe pour chaque connexion. En outre, les clés SSH permettent une automatisation sécurisée des scripts et des programmes qui doivent établir des connexions sécurisées.
Ai-je besoin de compétences techniques pour configurer des clés SSH ?
Une connaissance de base de la ligne de commande est utile mais n'est pas nécessaire. Le processus d'installation consiste à exécuter quelques commandes simples pour générer vos clés et les ajouter aux systèmes distants. Même si vous ne connaissez pas la ligne de commande, vous pouvez suivre les instructions pas à pas de cet article pour mettre en œuvre avec succès les clés SSH.
Puis-je utiliser des clés SSH sur tous les systèmes d'exploitation ?
Oui. Les clés SSH fonctionnent sous Windows, macOS, Linux et d'autres systèmes basés sur Unix. Tous les systèmes d'exploitation modernes intègrent des outils SSH par défaut ou les proposent en option. La même paire de clés peut être utilisée sur différents systèmes d'exploitation.
Comment résoudre les erreurs "Permission refusée (publickey)" ?
Cette erreur courante indique généralement que votre clé n'est pas correctement enregistrée sur le serveur. Vérifiez que votre clé publique est correctement ajoutée au fichier authorized_keys sur le système distant, que les autorisations de fichiers sont correctes (600 pour la clé privée) et que vous utilisez le nom d'utilisateur et le nom d'hôte corrects lors de la connexion.
Est-il possible d'utiliser la même clé SSH pour le travail et les projets personnels ?
Bien que cela soit techniquement possible, ce n'est pas recommandé pour des raisons de sécurité. L'utilisation de clés distinctes pour différents environnements limite votre exposition si une clé est compromise. Créez des clés distinctes pour le travail, les projets personnels et les systèmes sensibles afin de maintenir de meilleures limites de sécurité.