GNU/Linux >> Linux Esercitazione >  >> Linux

ssh:errore durante il caricamento della chiave ./id_rsa:formato non valido

Tradizionalmente OpenSSH utilizzava lo stesso formato di chiave privata identico al vecchio formato PEM utilizzato da OpenSSL. (Poiché utilizza OpenSSL per l'analisi della chiave, accetterà anche il nuovo formato PKCS#8.)

Quindi il problema può essere uno dei seguenti:

  1. La tua versione di OpenSSL si rifiuta di caricare questo formato di chiave. Forse ha abilitato accidentalmente la modalità FIPS e rifiuta qualsiasi algoritmo tranne quelli che fanno parte della sua convalida FIPS originale?

    Prova a caricare la chiave nel openssl strumento da riga di comando (che, sì, potrebbe anche essere collegato a un altro libcrypto , e dovresti verificare con ldd ):

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

    Prova a convertirlo nel formato PKCS#8:

    umask 077
    openssl pkey < id_rsa > id_rsa.pkcs8
    ssh-add id_rsa.pkcs8
    
  2. Il tuo OpenSSH è stato creato senza il supporto OpenSSL. Anche se ssh -V dice che il supporto è stato abilitato, ciò non significa automaticamente il ssh-add binario è lo stesso:potrebbe provenire da un'installazione parziale diversa.

    Usa type -a ssh e type -a ssh-add per confrontare le posizioni di installazione.

    Una volta che conosci il percorso, usa ldd /usr/bin/ssh-add per verificare che sia collegato a libcrypto.so (la libreria crittografica OpenSSL).

Se non funziona nulla, prova a convertire la tua chiave nel nuovo formato proprietario di OpenSSH usando... PuTTY. Installa il putty pacchetto per Fedora e usa:

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

Anche peculiare:GNOME riesce in qualche modo ad aggiungere la chiave all'accesso con cavalluccio marino.

Le versioni precedenti di GNOME Keyring hanno una copia interna del codice dell'agente SSH e sono indipendenti dal sistema OpenSSH. Quindi accetteranno chiavi che il tuo OpenSSH non accetterà. (Ma d'altra parte, questo significa un forte ritardo in termini di supporto delle funzionalità (come le chiavi Ed25519), e l'ultimo GNOME Keyring utilizza invece solo il sistema ssh-agent.)


Ricevevo lo stesso messaggio di errore quando passavo la chiave privata attraverso una variabile della pipeline CI in Gitlab.

L'errore era causato dalla mancanza di un carattere di nuova riga alla fine della variabile ed è stato risolto aggiungendolo manualmente.


Nel mio caso, il problema è stato causato da caratteri di fine riga errati nel file id_rsa. Dopo aver copiato il contenuto del file, l'editor di testo di Windows ha voluto aiutarmi e ha convertito gli EOL in CR LF.


Linux
  1. Bash =~ Regex e HTTPS://regex101.com/?

  2. Ssh:data una chiave Ssh privata, come recuperare la chiave pubblica?

  3. Kubuntu mostra un errore all'accesso (file:///usr/share/sddm//themes/breeze/main.qml:no Such File Or Directory)?

  4. Errore Gpg, firme non valide per “http://archive.canonical.com Precise Release”?

  5. Impossibile eseguire applicazioni X tramite SSH in Linux

Autenticazione SSH Ansible ed escalation dei privilegi

Errore durante il caricamento delle librerie condivise libcrypto.so.1.1 – OpenSSL [fissare]

In che modo Linux gestisce più separatori di percorsi consecutivi (/home////nomeutente///file)?

Linux – Impossibile avviare Vm:errore 13:formato eseguibile non valido o non supportato?

Come configurare ssh senza password con chiavi RSA

Come copiare una chiave pubblica sul tuo server