Je ne parviens pas à créer une clé SSH

Bonjour à tous,

J’ai passé la journée sur l’IRC de debian, plusieurs ont tenté de m’aider sans jamais y parvenir alors je tente ici mais je commence à désespérer.

Je souhaite “simplement” me connecter en SSH à un serveur via. une clé RSA. Actuellement, lorsque je me connecte, il me demande un mot de passe et ça fonctionne.

Sur mon ordinateur, j’ai créé la clé rsa qui est bien dans .ssh de mon utilisateur. Ensuite, j’ai copié la clé sur le serveur avec ssh-copy-id et la clé publique s’est bien retrouvé dans mon authorized_keys sur le serveur.

Mais à présent, à chaque fois que je tente de me connecter via. ssh myuser@monserveur, il me demande malgré tout mon mot de passe …

Je ne comprend vraiment pas au vu de la simplicité de la manipulation (quelques lignes). Voici le fichier log de mon serveur, en DEBUG3 : https://gist.github.com/GaylordP/f9006d08f3d5d458c9c4e65c0eb58709

Encore plus étrange, lorsque je rajoute “-v” après ma tentative de connexion, on dirait qu’il recherche plein de clé RSA, sauf la mienne … : https://gist.github.com/GaylordP/6e92436ac07350cbe13f7fca43282bf7

Merci d’avance si quelqu’un peut m’aider :slight_smile:

Il te faut enlever la possibilité de connexion avec mot de passe dans la config de SSH.

EDIT : la ligne suivante dans /etc/ssh/sshd_config

# Change to no to disable tunnelled clear text passwords
PasswordAuthentication no

ATTENTION !
Ne fais pas ce que je viens de t’écrire s’il s’agit d’un serveir distant, auquel tu n"as pas accès directement.

Merci de ta réponse mais il s’agit bien d’un serveur distant, du coup as-tu une solution intermédiaire ?

Quand tu te connectes en SSH, te demande-t-il le passphrase de ta clef RSA ?

Non du tout, lorsque je fais ssh myuser@monip il me demande simplement mon mot de passe (et si je le met, je peux me connecter)

C’est donc que ta clef n’est pas reconnue ou mal installée.
As-tu plusieurs clefs RSA dans ton ~/.ssh ?

Non j’en ai qu’une, d’ailleurs après avoir fait ssh-copy-id, j’ai eu le message me disant que je peux me connecter sans mot de passe en faisant " ssh myser@myip " mais ça n’a jamais fonctionné. J’ai essayé ensuite de créer d’autres clés, mais le résultat est identique … au final j’en ai qu’une.

C’est donc que ta clef n’est pas reconnue, ou mal installée, ou … ?
Tu as un tuto assez clair sur les clefs RSA dans … Ubuntu.
Mais il y e en a d’autres ailleurs.
Il faut que tu arrives à ce qu’une clef te soit demandée, même s’il te demande en plus le MDP, avant de mettre la ligne à ‘no’ dans sshd_config.
Sinon, tu n’auras plus accès à ton serveur distant.

Je ne peux malheureusement pas t’en dire plus.

Il n’a pas dû te dire que ça, en principe, il prévient d’essayer d’abord la connexion avec
ssh <user>@<IP_serveur>
Et seulement si la clef est demandée, de supprimer la possibilité avec MDP.

Oui tu as raison, j’avais eu ce message exactement :

“Now try logging into the machine, with:
“ssh -p ‘9325’ ‘myuser@37.***.***.***’” and check to make sure that
only the key(s) you wanted were added.”

J’hésite à mettre la ligne à “no” quand même … je vais retenter une installation de clé SSH en prenant soin de vider tous les répertoires .ssh auparavant pour voir et en suivant le tutoriel, mais très très très pessimiste puisque déjà fait et que c’est en théorie très simple …

1/ Est-ce que ta clé SSH a une passphrase ?
Si, oui, est-ce que ta passphrase ne ressemblerait-elle pas à ton mot de passe de session ?

2/ Utilises-tu ssh-agent ?


Concernant la création de clé SSH, tu as des conseils avisés pour le faire de manière sécurisée, dans un de mes mémos

Merci de ta réponse.

La paraphrase était juste un mot, très court, et oui il ressemble un peu au mot de passe ; j’ai fait au plus simple.

Non je n’utilise pas gpg-agent, enfin pas à ma connaissance :slight_smile:

Au vu de ta réponse je vais utiliser une vraie paraphrase ^^

Après, SSH va te demander ton mot-de-passe, si l’option “PasswordAuthentification” est à “Yes”, et si jamais ton authentification par clé échoue … c’est sa méthode de “fallback” …

Du log que je lis dans ce lien que tu donnes, ceci de particulier devrait attirer ton éveil :

debug1: key_load_public: No such file or directory
debug1: identity file /home/myuser/.ssh/id_rsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/myuser/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/myuser/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/myuser/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/myuser/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/myuser/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/myuser/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/myuser/.ssh/id_ed25519-cert type -1

C’est qu’il n’arrive pas à lire en local ton fichier de clé RSA local …

Donc, vérifies que dans ta station, tu aies bien un fichier id_rsa et id_rsa.pub dans ton répertoire personnel .ssh …
Sur le serveur :

  • vérifies l’écriture dans le fichier ~/.ssh/authorized_keys
  • vérifies dans ton fichier de configuration du serveur ssh la valeur de la variable AuthorizedKeysFile …

Tu es sûr qu’il s’agit bien d’une clef SSH que tu as générée ?
Donne ici "exactement " la commande complète que tu as faite pour générer ta clef.

Lis rsa.pub et non pug :yum:

1 J'aime