GNU/Linux >> Tutoriels Linux >  >> Linux

ssh :erreur lors du chargement de la clé ./id_rsa :format invalide

Traditionnellement, OpenSSH utilisait le même format de clé privée, identique à l'ancien format PEM utilisé par OpenSSL. (Comme il utilise OpenSSL pour analyser la clé, il acceptera également le nouveau format PKCS#8.)

Le problème peut donc être l'un des suivants :

  1. Votre version d'OpenSSL refuse de charger ce format de clé. Peut-être a-t-il accidentellement activé le mode FIPS et refuse-t-il tous les algorithmes à l'exception de ceux faisant partie de sa validation FIPS d'origine ?

    Essayez de charger la clé dans le openssl outil de ligne de commande (qui, oui, pourrait également être lié à un autre libcrypto , et vous devriez vérifier avec ldd ):

    openssl rsa -noout -text < id_rsa
    openssl pkey -noout -text < id_rsa
    

    Essayez de le convertir au format PKCS#8 :

    umask 077
    openssl pkey < id_rsa > id_rsa.pkcs8
    ssh-add id_rsa.pkcs8
    
  2. Votre OpenSSH a été créé sans le support d'OpenSSL. Même si ssh -V indique que le support a été activé, cela ne signifie pas automatiquement le ssh-add le binaire est le même - il peut provenir d'une installation partielle différente.

    Utilisez type -a ssh et type -a ssh-add pour comparer les emplacements d'installation.

    Une fois que vous connaissez le chemin, utilisez ldd /usr/bin/ssh-add pour vérifier qu'il est lié à libcrypto.so (la bibliothèque cryptographique OpenSSL).

Si rien ne fonctionne du tout, essayez de convertir votre clé au nouveau format propriétaire OpenSSH en utilisant... PuTTY. Installez le putty package pour Fedora, et utilisez :

puttygen id_rsa -o id_rsa.newformat -O private-openssh-new
ssh-add id_rsa.newformat

Aussi particulier:GNOME parvient en quelque sorte à ajouter la clé lors de la connexion avec hippocampe.

Les anciennes versions de GNOME Keyring ont une copie interne du code de l'agent SSH et sont indépendantes du système OpenSSH. Ainsi, ils accepteront des clés que votre OpenSSH n'acceptera pas. (Mais d'un autre côté, cela signifie un retard important en termes de prise en charge des fonctionnalités (telles que les clés Ed25519), et le dernier trousseau de clés GNOME utilise simplement l'agent ssh du système à la place.)


Je recevais le même message d'erreur lors du passage de la clé privée via une variable de pipeline CI dans Gitlab.

L'erreur était due à l'absence de caractère de nouvelle ligne à la fin de la variable et a été corrigée en l'ajoutant manuellement.


Dans mon cas, le problème a été causé par des caractères de fin de ligne incorrects dans le fichier id_rsa. Après avoir copié le contenu du fichier, l'éditeur de texte Windows a voulu m'aider et a converti les EOL en CR LF.


Linux
  1. Erreur lors du chargement des bibliothèques partagées libcrypto.so.1.1 – OpenSSL [Réparer]

  2. Bash =~ Regex et Https://regex101.com/?

  3. Ssh – Étant donné une clé Ssh privée, comment récupérer la clé publique ?

  4. Kubuntu affiche une erreur lors de la connexion (file:///usr/share/sddm//themes/breeze/main.qml:no Such File Or Directory) ?

  5. Erreur Gpg, signatures non valides pour "http://archive.canonical.com Precise Release" ?

Authentification SSH Ansible et escalade des privilèges

Comment Linux gère-t-il plusieurs séparateurs de chemins consécutifs (/home////nom d'utilisateur///fichier) ?

Linux - Impossible de démarrer Vm :Erreur 13 :Format exécutable non valide ou non pris en charge ?

obtenir l'empreinte de la clé SSH au format (ancien) hexadécimal sur la nouvelle version d'opensh

Comment configurer ssh sans mot de passe avec des clés RSA

Comment copier une clé publique sur votre serveur