GNU/Linux >> Znalost Linux >  >> Linux

ssh:Chyba při načítání klíče ./id_rsa:neplatný formát

Tradičně OpenSSH používá stejný formát soukromého klíče, který je identický se starším formátem PEM používaným OpenSSL. (Protože pro analýzu klíče používá OpenSSL, bude akceptovat i novější formát PKCS#8.)

Takže problém může být jeden z:

  1. Vaše verze OpenSSL odmítá načíst tento formát klíče. Možná omylem aktivoval režim FIPS a odmítá jakékoli algoritmy kromě těch, které jsou součástí původního ověření FIPS?

    Zkuste nahrát klíč do openssl nástroj příkazového řádku (který, ano, může být také propojen s jiným libcrypto a měli byste to zkontrolovat pomocí ldd ):

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

    Zkuste jej převést do formátu PKCS#8:

    umask 077
    openssl pkey < id_rsa > id_rsa.pkcs8
    ssh-add id_rsa.pkcs8
    
  2. Vaše OpenSSH bylo vytvořeno bez podpory OpenSSL. I když ssh -V říká, že podpora byla povolena, což neznamená automaticky ssh-add binární je stejný – může pocházet z jiné dílčí instalace.

    Použijte type -a ssh a type -a ssh-add pro porovnání umístění instalace.

    Jakmile znáte cestu, použijte ldd /usr/bin/ssh-add abyste ověřili, že je propojen s libcrypto.so (kryptografická knihovna OpenSSL).

Pokud vůbec nic nefunguje, zkuste převést svůj klíč do nového formátu proprietárního OpenSSH pomocí... PuTTY. Nainstalujte putty balíček pro Fedoru a použijte:

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

Také zvláštní:GNOME nějak zvládá přidat klíč při přihlášení s mořským koníkem.

Starší verze GNOME Keyring mají interní kopii kódu agenta SSH a jsou nezávislé na systému OpenSSH. Budou tedy přijímat klíče, které vaše OpenSSH ne. (Ale na druhou stranu to znamená velké zpoždění, pokud jde o podporu funkcí (jako jsou klíče Ed25519), a nejnovější klíčenka GNOME místo toho používá systémového ssh-agenta.)


Při předávání soukromého klíče přes proměnnou kanálu CI v Gitlabu jsem dostával stejnou chybovou zprávu.

Chyba byla způsobena tím, že na konci proměnné nebyl znak nového řádku a byla opravena jeho ručním přidáním.


V mém případě byl problém způsoben nesprávnými znaky konce řádku v souboru id_rsa. Po zkopírování obsahu souboru mi chtěl pomoci textový editor Windows a převedl EOL na CR LF.


Linux
  1. Chyba při načítání sdílených knihoven libcrypto.so.1.1 – OpenSSL [Oprava]

  2. Ssh – vzhledem k soukromému klíči Ssh, jak obnovit veřejný klíč?

  3. Kubuntu zobrazuje chybu při přihlášení (file:///usr/share/sddm//themes/breeze/main.qml:žádný takový soubor nebo adresář)?

  1. jak aktualizovat homebrew pomocí Cronu na Mac OS

  2. Chyba insmod:vkládání './hello.ko':-1 Neplatný formát modulu

  3. id_rsa.pub soubor SSH Chyba:neplatný formát

  1. Kdy mám použít /dev/shm/ a kdy /tmp/?

  2. unix:///var/run/supervisor.sock žádný takový soubor

  3. získat otisk klíče SSH ve (starém) hex formátu na nové verzi openssh