Comment se connecter aux serveurs SSH en utilisant des clés GPG
Réduisez le nombre de clés SSH que vous maintenez en les liant à votre clé GPG. Découvrez comment activer les connexions sans mot de passe avec SSH et profitez des nombreux avantages des clés GPG pour la sécurité de votre vie numérique.
Maintenir les informations d'identification de connexion SSH est une partie importante du protocole de sécurité de chaque administrateur. Ici, nous vous montrons comment vous pouvez réduire les clés que vous maintenez en liant votre connexion SSH à votre clé GPG.
Pour commencer : apprenez d'abord comment activer les connexions sans mot de passe avec SSH.
Pourquoi utiliser des clés GPG pour se connecter à SSH
L'un des avantages d'utiliser des clés GPG pour une connexion SSH est qu'il est facile de passer d'un hôte à un autre. Chaque système d'exploitation dispose aujourd'hui d'un outil GUI (Interface Graphique) ou CLI (Interface de Ligne de Commande) qui interagit avec GPG. Par exemple, GNU Kleopatra est disponible pour Linux et Windows, et l'outil GnuPG est disponible à la fois pour Linux et macOS.
Un autre avantage des clés GPG est que, contrairement aux clés SSH, vous pouvez les utiliser pour une variété de tâches liées à la sécurité. En plus de SSH, vous pouvez générer des sous-clés supplémentaires pour signer des e-mails et chiffrer des fichiers. Ainsi, les clés GPG vous permettent de consolider une grande partie de votre vie numérique en quelques bits sécurisés faciles à entretenir.
Enfin, l'utilisation de GPG via SSH ne modifiera pas l'infrastructure existante sur vos machines distantes. Cela est dû au fait que GPG convertit sa clé d'authentification en un format "compatible SSH". Par conséquent, vous pouvez exporter votre clé publique GPG "compatible SSH" vers un serveur SSH et l'utiliser immédiatement pour vous connecter.
Note supplémentaire : apprenez comment sécuriser votre compte Github en utilisant des clés SSH.
Préparation de votre clé GPG pour SSH
La première étape pour utiliser des clés GPG sur SSH est de créer une nouvelle sous-clé. Cela permet de partager les détails d'authentification SSH sans compromettre votre identité principale GPG.
Commencez par ouvrir une invite GPG pour votre clé principale :
gpg --expert --edit-key VOTRE-CLE@ADRESSE.EMAIL
Remarque : vous pouvez trouver l'adresse e-mail de votre clé principale en listant le contenu de votre trousseau de clés : gpg --list-keys
.
Tapez "addkey" dans l'invite GPG, sélectionnez "8", puis appuyez sur Entrée.
Définissez la capacité de votre sous-clé sur "=A", puis appuyez sur Entrée.
Tapez "4096" lors de la demande de taille de clé, puis appuyez sur Entrée.
Fixez une durée raisonnable de validité pour votre sous-clé. Dans mon cas, je vais taper "1y" pour que ma nouvelle sous-clé soit valide pendant un an seulement.
Créez votre nouvelle sous-clé GPG en tapant "y", puis en appuyant sur Entrée lors de la confirmation de l'assistant.
Tapez "quit", puis appuyez sur Entrée pour quitter l'invite GPG.
Vérifiez que votre nouvelle sous-clé fonctionne correctement en extrayant les détails de votre clé principale :
gpg --list-keys VOTRE-CLE@ADRESSE.EMAIL
Activation de la prise en charge SSH dans GPG
Avec votre sous-clé opérationnelle, vous pouvez maintenant configurer votre démon SSH pour accepter les demandes entrantes de gpg-agent. Pour cela, ajoutez "enable-ssh-support" au fichier "gpg-agent.conf" de votre utilisateur actuel :
echo "enable-ssh-support" >> ~/.gnupg/gpg-agent.conf
Ouvrez votre fichier ".bashrc" avec votre éditeur de texte préféré :
nano ~/.bashrc
Collez les lignes de code suivantes à la fin de votre fichier .bashrc :
export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)<br>gpgconf --launch gpg-agent
Enregistrez votre fichier bashrc, puis affichez la "keygrip" de votre sous-clé :
gpg --list-keys --with-keygrip
Copiez la "keygrip" de votre sous-clé, puis créez un fichier "sshcontrol" dans le répertoire .gnupg :
nano ~/.gnupg/sshcontrol
Collez la "keygrip" de votre identité dans le nouveau fichier, puis enregistrez-le.
Appliquez votre nouvelle configuration SSH et GPG en rechargeant votre fichier bashrc lors de la session terminal actuelle :
source ~/.bashrc
Testez si votre démon SSH fonctionne correctement en affichant sa clé publique SSH :
ssh-add -l
Export et test de votre clé GPG
À ce stade, vous disposez d'un démon SSH correctement lié à votre agent GPG. Pour l'utiliser, générez la clé d'exportation SSH en utilisant la commande suivante :
gpg --ssh-export-key VOTRE-CLE@ADRESSE.EMAIL > ~/authorized_keys
Définissez les bits de permission de la clé d'exportation de manière à ce qu'ils soient uniquement lisibles et modifiables par l'utilisateur :
chmod 600 ~/authorized_keys
Envoyez votre nouveau fichier authorized_keys vers votre serveur distant en utilisant scp :
scp ~/authorized_keys NOM-SERVEUR-DISTANT:~/.ssh/authorized_keys
Connectez-vous à votre serveur distant, puis redémarrez le démon SSH pour appliquer votre nouvelle clé :
sudo systemctl restart ssh.service
Appuyez sur Ctrl + D, puis connectez-vous à nouveau à votre serveur.
Serveur SSH distant. Cela devrait afficher un nouveau prompt vous demandant le mot de passe de votre clé GPG principale.
Lier votre clé GPG à votre démon SSH et l'exporter vers un serveur distant ne sont que quelques-unes des choses que vous pouvez faire avec SSH. Explorez les possibilités offertes par ce merveilleux logiciel en utilisant SSH avec les pipes UNIX sous Linux.
.
Questions et réponses qu'il vous faut savoir
Comment se connecter en SSH avec une clé privée ?
Pour vous connecter en SSH avec une clé privée, vous devez suivre les étapes suivantes : 1. Générez une clé privée en utilisant PuTTYgen. 2. Fermez PuTTYgen et lancez le client PuTTY. 3. Sous 'Session', renseignez le nom de l'hôte ou l'adresse IP du serveur distant. 4. Accédez à 'Connexion' > 'SSH' > 'Auth'. 5. Cliquez sur 'Parcourir' pour sélectionner votre clé privée (.ppk) que vous avez précédemment générée. 6. Enregistrez vos paramètres et cliquez sur 'Open' pour vous connecter au serveur en utilisant votre clé privée. Cette méthode vous permettra d'établir une connexion sécurisée en utilisant une clé privée plutôt qu'un mot de passe.
Comment forcer une connexion SSH ?
Pour forcer une connexion SSH, vous devrez tout d'abord vérifier si le client OpenSSH est installé sur votre système. Pour ce faire, suivez les étapes suivantes : 1. Allez dans « Paramètres ». 2. Sélectionnez « Applications ». 3. Choisissez « Applications et fonctionnalités ». 4. Recherchez l'option « Fonctionnalités facultatives » et cliquez dessus. Assurez-vous de suivre attentivement ces étapes pour trouver les paramètres nécessaires. Une fois dans les fonctionnalités facultatives, vérifiez si le client OpenSSH est déjà installé. Si ce n'est pas le cas, procédez comme suit : 1. Cliquez sur « Ajouter une fonctionnalité facultative ». 2. Recherchez le client OpenSSH dans la liste des fonctionnalités disponibles. 3. Cochez la case correspondante au client OpenSSH. 4. Cliquez sur « OK » ou « Installer » pour démarrer le processus d'installation. Une fois l'installation terminée, vous devriez pouvoir utiliser la connexion SSH sur votre système. Assurez-vous d'entrer les informations de connexion correctes pour vous connecter à un serveur distant. Si vous rencontrez des difficultés, vérifiez les paramètres de votre pare-feu et assurez-vous que le serveur distant est correctement configuré pour autoriser les connexions SSH. Veuillez noter que forcer une connexion SSH peut être une violation des politiques de sécurité et des lois en vigueur. Assurez-vous d'obtenir toutes les autorisations nécessaires avant de tenter de forcer une connexion SSH.
Comment fonctionnent les clés SSH ?
Les clés SSH fonctionnent grâce à un algorithme cryptographique à clé publique, généralement utilisant RSA ou DSA. Ce processus utilise une formule mathématique avec deux nombres premiers et une variable de départ aléatoire pour générer une paire de clés : une clé publique et une clé privée. Ces clés permettent d'établir une communication sécurisée entre un serveur et un client en utilisant un système de chiffrement asymétrique.
Comment utiliser SSH Copy id ?
SSH Copy id est une commande permettant d'ajouter une clé publique SSH au fichier authorized_keys d'une machine distante de manière automatique. Pour utiliser cette commande, il suffit d'exécuter la commande suivante dans votre terminal : ssh-copy-id [utilisateur]@[adresse_IP] Une fois cette commande exécutée, vous serez invité à entrer le mot de passe de la machine distante. Une fois l'authentification réussie, la clé publique SSH générée sera automatiquement ajoutée au fichier authorized_keys de la machine distante. La connexion sera ensuite automatiquement fermée. Cette méthode est pratique car elle permet d'éviter d'avoir à copier et coller manuellement la clé publique SSH dans le fichier authorized_keys. Elle simplifie ainsi le processus d'authentification SSH et sécurise la connexion entre votre machine locale et la machine distante.
Maintenant que tu as fini de lire Comment se connecter aux serveurs SSH en utilisant des clés GPG, nous t'invitons à explorer davantage la catégorie Linux. Tu y trouveras d'autres articles intéressants qui élargiront tes connaissances et te tiendront informé. Ne cesse pas de lire et de découvrir plus!
Laisser un commentaire