GNU/Linux >> Tutoriales Linux >  >> Linux

ssh:error al cargar la clave./id_rsa:formato no válido

Tradicionalmente, OpenSSH usaba el mismo formato de clave privada que es idéntico al antiguo formato PEM usado por OpenSSL. (Debido a que utiliza OpenSSL para analizar la clave, también aceptará el formato PKCS#8 más reciente).

Así que el problema puede ser uno de:

  1. Su versión de OpenSSL se niega a cargar este formato de clave. ¿Quizás ha habilitado accidentalmente el modo FIPS y rechaza cualquier algoritmo excepto aquellos que forman parte de su validación FIPS original?

    Intenta cargar la clave en el openssl herramienta de línea de comandos (que, sí, también podría estar vinculada a un libcrypto diferente , y debería consultar con ldd ):

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

    Intente convertirlo al formato PKCS#8:

    umask 077
    openssl pkey < id_rsa > id_rsa.pkcs8
    ssh-add id_rsa.pkcs8
    
  2. Su OpenSSH se ha creado sin compatibilidad con OpenSSL. Aunque ssh -V dice que el soporte fue habilitado, eso no significa automáticamente el ssh-add el binario es el mismo; puede provenir de una instalación parcial diferente.

    Usa type -a ssh y type -a ssh-add para comparar ubicaciones de instalación.

    Una vez que sepa la ruta, use ldd /usr/bin/ssh-add para verificar que está vinculado a libcrypto.so (la biblioteca criptográfica OpenSSL).

Si nada funciona, intente convertir su clave al nuevo formato propietario de OpenSSH usando... PuTTY. Instala el putty paquete para Fedora, y use:

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

También peculiar:GNOME de alguna manera logra agregar la clave al iniciar sesión con caballito de mar.

Las versiones anteriores de GNOME Keyring tienen una copia interna del código del agente SSH y son independientes del sistema OpenSSH. Entonces aceptarán claves que su OpenSSH no aceptará. (Pero por otro lado, esto significa un retraso severo en términos de soporte de funciones (como las claves Ed25519), y el último GNOME Keyring solo usa el sistema ssh-agent en su lugar).


Recibía el mismo mensaje de error al pasar la clave privada a través de una variable de canalización de CI en Gitlab.

El error se produjo por no tener un carácter de nueva línea al final de la variable y se solucionó al agregarlo manualmente.


En mi caso, el problema fue causado por caracteres de final de línea incorrectos en el archivo id_rsa. Después de copiar el contenido del archivo, el editor de texto de Windows quiso ayudarme y convirtió los EOL a CR LF.


Linux
  1. Kubuntu muestra un error al iniciar sesión (file:///usr/share/sddm//themes/breeze/main.qml:no such file or directory)?

  2. Error de Gpg, ¿Firmas no válidas para "http://archive.canonical.com versión precisa"?

  3. No se pueden ejecutar aplicaciones X a través de SSH en Linux

  4. Error de insmod:insertando './hello.ko':-1 Formato de módulo no válido

  5. Error de SSH del archivo id_rsa.pub:formato no válido

Autenticación SSH de Ansible y escalada de privilegios

Error al cargar bibliotecas compartidas libcrypto.so.1.1 – OpenSSL [Fijar]

Linux - No se puede iniciar Vm:Error 13:¿Formato ejecutable no válido o no compatible?

¿Error de clave Ssh no válida en Juju cuando se usa con Maas?

cómo actualizar homebrew con Cron en Mac os

obtener la huella digital de la clave SSH en formato hexadecimal (antiguo) en la nueva versión de openssh