- - Comment configurer une clé SSH sous Linux

Comment configurer une clé SSH sous Linux

SSH est une excellente technologie. vous pouvez l'utiliser pour cacherLe trafic VPN avec, sécuriser votre connexion à des sites Web, et plus encore. Le seul problème est que chaque fois que vous essayez de vous connecter à un ordinateur distant, vous devez entrer votre mot de passe, ce qui peut être fastidieux. Si vous êtes un développeur qui souhaite se connecter simultanément à de nombreuses machines via SSH avec un script Bash, ou si vous utilisez quelqu'un qui utilise Secure Shell et qui en a marre de saisir des mots de passe, il existe une solution: SSH sans mot de passe. Ce processus implique de générer une clé SSH sécurisée sur la machine hôte et de la partager pour accéder au PC. Cela permettra à quiconque possédant la clé de se connecter, même s’ils ne connaissent pas le mot de passe. Voici comment le faire fonctionner.

Que sont les clés SSH?

Une clé SSH est un fichier d'identification unique quiest utilisé avec Secure Shell. Le but de ces clés est de fournir une identité unique à l'utilisateur et de les marquer comme «fiables» lors de la connexion. Ces clés elles-mêmes sont plus que des fichiers qui prouvent l'identité de quelqu'un. En fait, SSH permet aux utilisateurs de se connecter avec une clé plutôt qu'un mot de passe. Cela signifie que, au lieu d’être obligé de saisir un mot de passe chaque fois que vous vous connectez via SSH, vous utilisez la clé SSH.

La clé SSH est placée quelque part de manière sécurisée sur votre installation Linux et à partir de là, vous pouvez vous connecter à la machine distante autant que vous le souhaitez sans mot de passe.

Génération de clés SSH sécurisées

Générer une clé SSH sécurisée nécessite d’abord queSSH est opérationnel. Comprenez que cela ne signifie pas nécessairement que vous avez besoin d’un serveur SSH. Juste que les outils et technologies SSH de base s'exécutent sur votre PC Linux. Vous ne savez pas comment configurer SSH? Suivez notre guide à ce sujet ici.

Générez toujours les clés SSH sur le système hébergeant le serveur SSH. N'essayez pas de les générer sur le serveur n'hébergeant pas de session SSH et copiez-la sur la machine hôte SSH. Ça ne marchera pas.

Pour démarrer le processus de génération de clé, ouvrez un terminal. Dans la fenêtre du terminal, exécutez:

ssh-keygen -t rsa

Fonctionnement ssh-keygen affichera “Génération de clé RSA publique / privéepaire". Cela signifie que le système vous génère à la fois une clé publique et une clé privée à utiliser. Les clés publiques sont celles que tout le monde peut utiliser, et vous devriez être en mesure de donner. En revanche, une clé privée est quelque chose que vous ne devriez jamais partager avec qui que ce soit. D'où le nom «privé».

Les clés se sauveront sur /accueil / nom d'utilisateur / .ssh / id_rsa.

Remarque: NE PAS SUPPRIMER le ~ / .ssh dossier, car il contient vos clés. Si vous trafiquez ce dossier de quelque manière que ce soit et tentez ensuite de vous connecter à distance à cette machine, l'invite SSH échouera. Il affichera également un avertissement et vous bloquera.

Touches SSH sur une machine distante

Maintenant que les clés SSH (publiques et privées)sont créés et prêts à être utilisés, vous devez les copier sur le système à partir duquel vous souhaitez vous connecter. Il est important de répéter ce processus sur toutes les machines que vous prévoyez de vous connecter via SSH. Sinon, ceux qui n'ont pas la clé devront se connecter avec la méthode du mot de passe.

Pour ajouter les clés au système distant, suivez cet exemple. Assurez-vous de le faire à partir de la machine hôte via SSH.

ssh username@remote-host-name mkdir -p .ssh

Exécuter cette commande ssh créera un caché ~ / .ssh dans le répertoire de base de la machine distante (avec l’utilisateur qui a été utilisé pour se connecter). Ce dossier est important, car c’est là que nous allons copier les fichiers de clé SSH nouvellement générés.

Pour copier les fichiers de clés SSH, exécutez une autre commande de la machine hôte SSH sur la machine distante nécessitant les clés:

cat .ssh/id_rsa.pub | ssh username@remote-host-name "cat >> .ssh/authorized_keys"

La copie prend quelques secondes, en fonction de la vitesse du réseau. Une fois l’opération terminée, le PC distant aura les clés générées et pourra se connecter au PC hôte SSH sans mot de passe.

Sauvegarde de clés SSH

Les clés SSH sont utiles, et chacune d’elles estunique. C’est pour cette raison que leur meilleure solution est de les sauvegarder. Le problème, c’est que si vous la sauvegardez ailleurs, une personne pourrait trouver votre clé SSH, la conserver et l’utiliser pour elle-même. La question est donc de savoir quel est le bon moyen de sauvegarder en toute sécurité une clé SSH. Chiffrement.

Le moyen le plus rapide, le plus efficace (et le plus simple) dechiffrer, c'est utiliser GnuPG. L'outil lui-même est intégré à la plupart des outils de chiffrement déjà sous Linux et est l'outil idéal pour le chiffrement de fichiers. Pour installer GnuPG, ouvrez un terminal et recherchez “gpg” dans votre gestionnaire de paquets. Le programme devrait être facile à trouver, même sur des distributions Linux très obscures.

Une fois que GPG est opérationnel, démarrez le processus de cryptage en compressant votre ~ / .ssh répertoire dans le fichier archive tar. Cela fera en sorte qu’il n’est pas nécessaire de chiffrer individuellement chaque fichier de la liste. ~ / .ssh dossier.

tar -czvf ssh-stuff.tar.gz /home/username/.ssh

Une fois la compression terminée, démarrez le processus de chiffrement.

Remarque: avant de chiffrer, exécutez gpg dans le terminal pour générer un nouveau trousseau.

gpg -c ssh-stuff.tar.gz

Une fois le processus de cryptage terminé, GnuPG mettra un fichier portant l’étiquette «ssh-stuff.tar.gz.gpg“. N'hésitez pas à supprimer la version originale et non verrouillée du fichier. Pour déchiffrer votre archive de sauvegarde, procédez comme suit:

gpg ssh-stuff.tar.gz.gpg
</ p>

commentaires