[ssh] Load key "..." : invalid format

Bonjour,

J’ai un petit soucis avec SSH. Quand j’essaye de me connecter sur un de mes serveur, j’ai ce message :

Load key "/home/USER/.ssh/id_rsa.pub": invalid format

Je n’ai jamais eu de soucis, d’habitude j’ai un message qui me demande ma passphrase et c’est tout. Une explication ?

Cela pourrait-il être lié avec mon passage à Openbox ?

Merci d’avance,

Salut.

Tu peux essayer de renommer le fichier /home/USER/.ssh/id_rsa.pub pour qu’il ne soit plus lu par ssh.
Après, tu peux demander à ssh-keygen de te le régénérer, mais il me semble qui n’est pas essentiel pour utiliser ssh.

Si tu veux parler de l’environnement de bureau, je ne vois pas en quoi ça changerait quoique ce soit. L’émulateur de terminal exécute le même interpréteur de commande qui lance le même client SSH.

C’est bizarre. Déjç s’appeler USER c’est plutôt louche :slight_smile:

Si cela fonctionnait auparavant, c’est que le fichier aurait été modifié entre temps. Pourrait on avoir les retours complets des commandes lancées dans un terminal sur la machine cliente

file $HOME/.ssh/id_rsa*
stat $HOME/ssh/id_rsa*
ls -lApst $HOME/ssh/id_rsa*

Vous pouvez aussi provoquer la lecture des clés en utilisant ssh-add comme ceci

fp2@debpacha:~$ ssh-add -l
The agent has no identities.
fp2@debpacha:~$ ssh-agent bash
fp2@debpacha:~$ ssh-add 
Enter passphrase for /home/fp2/.ssh/id_rsa: 
Identity added: /home/fp2/.ssh/id_rsa (/home/fp2/.ssh/id_rsa)
Identity added: /home/fp2/.ssh/id_dsa (/home/fp2/.ssh/id_dsa)
fp2@debpacha:~$ ssh-add -l
1024 SHA256:jHd3tzORPG/OKoR8bmLcoQJ0HLW8eqFsfxEKvSGVwTM /home/fp2/.ssh/id_rsa (RSA)
1024 SHA256:r0KHWfji+quU9UJ+XI9zgfKUURD28xbSMosznBpVno0 /home/fp2/.ssh/id_dsa (DSA)
fp2@debpacha:~$ 

Cordialement,
Regards,
Mit freundlichen Grüßen,
مع تحياتي الخالصة

F. Petitjean
Ingénieur civil du Génie Maritime.

« L’amour, c’est comme les spaghettis, quand c’est mou, c’est cuit. »
Proverbe belge

Bonjour,

À priori, tu utilises une clé publique au lieu d’une clé privée.
L’option -i de ssh peut t’aider.

Je peux me connecter au serveur malgré le message d’erreur.

$ ssh MonServeur
Load key "/home/simon/.ssh/id_rsa.pub": invalid format
simon@xx.yyy.zzz.www's password:

Je suis juste content de ne pas avoir désactivé la connexion par mot de passe…

J’essaye d’anonymiser un peu ce que je mets sur les forums. Mais ce n’est pas forcément toujours utile… ^^’

Je mets le retour des fonctions que tu as demandé :

$ file $HOME/.ssh/id_rsa*
/home/simon/.ssh/id_rsa:     PEM RSA private key
/home/simon/.ssh/id_rsa.pub: OpenSSH RSA public key

Je ne connaissais pas cette commande. Intéressant pour voir les détails d’un fichier!

$ stat $HOME/.ssh/id_rsa*
  Fichier : /home/simon/.ssh/id_rsa
   Taille : 6446      	Blocs : 16         Blocs d'E/S : 4096   fichier
Périphérique : fd03h/64771d	Inœud : 12845298    Liens : 1
Accès : (0700/-rwx------)  UID : ( 1000/   simon)   GID : ( 1000/   simon)
Contexte : unconfined_u:object_r:ssh_home_t:s0
 Accès : 2017-08-25 10:46:33.054782363 +0200
Modif. : 2015-06-19 23:30:25.963837000 +0200
Changt : 2016-12-16 20:57:48.914690672 +0100
  Créé : -
 
  Fichier : /home/simon/.ssh/id_rsa.pub
   Taille : 1419      	Blocs : 8          Blocs d'E/S : 4096   fichier
Périphérique : fd03h/64771d	Inœud : 12845299    Liens : 1
Accès : (0700/-rwx------)  UID : ( 1000/   simon)   GID : ( 1000/   simon)
Contexte : unconfined_u:object_r:ssh_home_t:s0
 Accès : 2017-08-25 10:26:41.661285653 +0200
Modif. : 2015-06-19 23:30:25.963837000 +0200
Changt : 2016-12-16 20:57:48.914690672 +0100
  Créé : -

Je ne connaissais pas toutes ces options de ‘‘ls’’. :slight_smile:

$ ls -lApst $HOME/.ssh/id_rsa*
8 -rwx------. 1 simon simon 6446 19 jun  2015 /home/simon/.ssh/id_rsa
4 -rwx------. 1 simon simon 1419 19 jun  2015 /home/simon/.ssh/id_rsa.pub

Je n’ai pas l’impression que les fichiers aient été modifiés depuis leur création. ( 2 ans déjà! )

Par contre j’ai provoqué la lecture des clés comme proposé :

$ ssh-add -l
The agent has no identities.
$ ssh-add
Enter passphrase for /home/simon/.ssh/id_rsa: 
Identity added: /home/simon/.ssh/id_rsa (/home/simon/.ssh/id_rsa)
$ ssh-add -l
8192 SHA256:IRFkRZ6ds2OxxxxxxxxxxxxxxxxxxxxxxxxxxxxwI /home/simon/.ssh/id_rsa (RSA)

Et maintenant, ça marche!

J’ai regardé dans le man de ssh pour l’option. J’ai encore appris un truc. :slight_smile:

Juste pour être sûr de ne pas avoir fait de bêtises… Sur le serveur distant, c’est bien la clé publique qui doit être présente, dans ce fichier :

$ cat .ssh/authorized_keys 
ssh-rsa AAAB3Nz (...) simon@machine

Et la clé privée doit être uniquement en local dans ce fichier :

$ cat .ssh/id_rsa
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-128-CBC,38F7160BBBBBBBBBBBBBBBBBBBB
(...)

C’est bien ça?

En tout cas, merci à vous trois pour vos réponses. J’ai appris des trucs et mon problème est résolu. :slight_smile:

Content pour vous.
Par contre, pourquoi avez-vous sauté l’étape

ssh-agent bash

Cela crée un nouveau shell dans lequel tourne un agent qui, avec la clé chargée via ssh-add, pourra répondre à votre place et donc vous n’aurez plus à retaper votre phrase de passe pour toutes les connexions lancées depuis ce shell (ce terminal).
Pour vérifier que vous avez un agent

fp2@debpacha:~$ env | fgrep SSH_
SSH_AUTH_SOCK=/tmp/ssh-zofL6DYqZkL9/agent.1136
SSH_AGENT_PID=1174
fp2@debpacha:~$

Vous pouvez alors vous connecter à un serveur distant avec l’option -A pour transférer les informations de l’agent : vous ayrez alors une variable
SSH_AUTH_SOCK qui sera définie (dans le shell distant) et qui vous permettra éventuellement de lancer à nouveau la commande ssh vers une 3ième machine sans donner de mot de passe ni de phrase de passe (le deuxième serveur distant étant configuré comme le premier)

Autrement dit, avec l’option -A vous avez le droit de rejouer, c’est l’équivalent de l’extra balle au flipper (seuls les lecteurs de ma génération comprendront :slight_smile: )

Cordialement,
Regards,
Mit freundlichen Grüßen,
مع تحياتي الخالصة

F. Petitjean
Ingénieur civil du Génie Maritime.

« Un ordinateur c’est comme un frigo : on le branche et ça marche. »
Laurent Serano Directeur informatique, réunion Délégués du Personnel 2010

1 J'aime

Je ne sais pas pourquoi je l’ai sautée… Elle ne m’a pas semblé importante dans un premier temps.

Mais je comprends maintenant son intérêt, merci pour les explications.