Blog de dada

DevOps, bidouilleur et routard plein de logiciels libres

Attention, ce billet se traine depuis plus de 3 mois. Les informations qu'il contient ne sont peut-être plus à jour.


Connexion SSH impossible après un changement de clé

Rédigé par dada / / 6 commentaires




C'est vraiment le truc stressant par excellence : on doit jouer avec ses clés SSH alors qu'on sait très bien que c'est une mauvaise idée. Pas le choix, faut quand même y aller. On lance ssh-keygen, et on essaye de se connecter : rien, nada, niet.

Quand c'est comme ça, la première réaction, c'est de vite, vite revenir en arrière, histoire de retrouver la configuration d'origine. Hier soir, ça n'a pas marché. Je restais avec une horrible permission denied.

J'ai finalement trouvé la solution, alors je partage. J'en profite pour sortir un rapide tutoriel pour refaire ce genre de manipulation les yeux fermés.

Note : je suis passé par la connexion de secours de mon hébergeur pour réactiver l'authentification par mot de passe. Si vous l'aviez vous aussi désactivée, n'oubliez pas de la remettre en place et de relancer OpenSSH.

Générer une clé valide

Cette partie n'est pas obligatoire si vous être certain que votre clé est bonne.

ssh-keygen -t rsa -b 4096 -C "$(whoami)@$(hostname)-$(date -I)"
Avec cette commande, vous avez une bonne clé, datée qui plus est.

Vérifier les droits des fichiers importants

chmod 700 ~/.ssh
chmod 600 ~/.ssh/*
Notez aussi que vous devez être propriétaire de ces mêmes fichiers et répertoire.
chmod -R utilisateur: ~/.ssh

Être certain que le serveur connait cette clé

ssh-copy-id -i ~/.ssh/id_rsa.pub "utilisateur@votreserveur.tld -p port"
Cette commande vous permet avec certitude de synchroniser vos machines. Pas de doute possible en passant par là.

Ajouter votre clé à votre système

C'est là que j'ai trouvé la solution à mon problème : une fois générée, la clé n'est pas forcément connue par votre OS/OpenSSH. Voici la commande magique que je ne connaissais pas :
ssh-add 
C'est tout. Ces sept caractères furent les plus importants de ma soirée.

J'espère que ce petit tutoriel rapide vous aidera. Moi, je sais déjà où je viendrais rechercher des informations la prochaine fois que je me ferai peur.

6 commentaires

#1  - kouinkouin a dit :

"ssh-add" ; 5 ou 7 caractères ? ;)

Pour ce qui est de la génération de la clé, juste ce soir, en passant ma pubkey à quelqu'un, celui-ci m'a sorti « Hein ?! tu utilises du RSA ? ». Donc je me pose la question : Le RSA, même en 4k, est insuffisant à votre avis ?

Répondre
#2  - dada a dit :

C'est bien 7 caractères.

Le RSA est encore valable, en 4096. Après tu peux passer au stade au dessus. Mais j'ai pas la bonne commande à te donner.

Répondre
#3  - Oded Vikhur a dit :

Tout dépend ce qu'on entend par "suffisant" ? Le but est de se prémunir de quoi ? de quel danger ? de quelle menace ?
RSA 4096 c'est bien.
ED25519 c'est bien aussi.
Une bonne config client/server c'est mieux :
https://cipherli.st/

https://stribika.github.io/2015/01/04/secure-secure-shell.html

Répondre
#4  - anabis a dit :

@kouinkouin : et il t'as dit quoi après ? Si il s'étonne du RSA qu'est ce qu'il utilise, lui ?

Répondre
#5  - J'informatique a dit :

Merci à Oded Vikhur pour son commentaire. Effectivement le lien qu'il donne vers Secure Secure Shell est très pertinent.
J'aimerais voir plus souvent des tutos sur internet qui donne les bonnes commandes pour générer des clés SSH :
ssh-keygen -t ed25519 -o -a 100
ssh-keygen -t rsa -b 4096 -o -a 100

Un autre article plus général sur les bonnes pratiques à mettre en place :
https://www.libwalk.so/2015/01/25/NSA-bullrun.html

Répondre
#6  - dada a dit :

Merci pour l'adresse de ce blog ! Il rentre dans mon lecteur de flux rss : on y trouve d'excellents billets !

Répondre

Fil RSS des commentaires de cet article

Écrire un commentaire

Quelle est la deuxième lettre du mot ktel ?