ssh key_load_public: Warnung vor ungültigem Format

8

SSHing in mein System ist erfolgreich, aber auch ohne das -vFlag erhalte ich eine key_load_public: invalid formatNachricht. Unten ist die Ausgabe mit dem ausführlichen Flag.

Speziell

debug1: key_load_public: No such file or directory debug1: identity file /home/myname/.ssh/private_rsa_key-cert type -1

scheint das Problem zu sein, da ich keine solche Datei habe. Ich habe jedoch mit einem anderen System nachgesehen und erhalte auch die gleichen zwei obigen Zeilen. Davor gibt es jedoch kein key_load_public: invalid format, was ich eigentlich loswerden möchte. Die Berechtigungen für die Datei "authorized_keys" auf beiden Remote-Systemen sehen gleich aus, die Berechtigungen für die Dateien "private_keys" sehen ebenfalls gleich aus.

    $ ssh -v desired_host
    OpenSSH_7.2p2, OpenSSL 1.0.2g  1 Mar 2016
    debug1: Reading configuration data /home/myname/.ssh/config
    debug1: /home/dli/.ssh/config line 16: Applying options for desired_host
    debug1: Reading configuration data /etc/ssh_config
    debug1: Connecting to desired_host [X.X.X.X] port 22.
    debug1: Connection established.
    key_load_public: invalid format
    debug1: identity file /home/myname/.ssh/private_rsa_key type -1
    debug1: key_load_public: No such file or directory
    debug1: identity file /home/myname/.ssh/private_rsa_key-cert type -1
    debug1: Enabling compatibility mode for protocol 2.0
    debug1: Local version string SSH-2.0-OpenSSH_7.2
    debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
    debug1: match: OpenSSH_5.3 pat OpenSSH_5* compat 0x0c000000
    debug1: Authenticating to desired_host:22 as 'myname'
    debug1: SSH2_MSG_KEXINIT sent
    debug1: SSH2_MSG_KEXINIT received
    debug1: kex: algorithm: diffie-hellman-group-exchange-sha256
    debug1: kex: host key algorithm: ssh-rsa
    debug1: kex: server->client cipher: aes128-ctr MAC: [email protected] compression: none
    debug1: kex: client->server cipher: aes128-ctr MAC: [email protected] compression: none
    debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(2048<3072<8192) sent
    debug1: got SSH2_MSG_KEX_DH_GEX_GROUP
    debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
    debug1: got SSH2_MSG_KEX_DH_GEX_REPLY
    debug1: Server host key: ssh-rsa SHA256:EmG/FBK0OCXtaAqAkfHKxoXKLGiZiHUsQpObK6aWd30
    debug1: Host 'desired_host' is known and matches the RSA host key.
    debug1: Found key in /home/myname/.ssh/known_hosts:39
    debug1: rekey after 4294967296 blocks
    debug1: SSH2_MSG_NEWKEYS sent
    debug1: expecting SSH2_MSG_NEWKEYS
    debug1: rekey after 4294967296 blocks
    debug1: SSH2_MSG_NEWKEYS received
    debug1: SSH2_MSG_SERVICE_ACCEPT received
    debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
    debug1: Next authentication method: publickey
    debug1: Trying private key: /home/myname/.ssh/private_rsa_key
    debug1: Authentication succeeded (publickey).
    Authenticated to desired_host ([X.X.X.X]:22).
    debug1: channel 0: new [client-session]
    debug1: Requesting [email protected]
    debug1: Entering interactive session.
    debug1: pledge: network
hiandbaii
quelle
Ähnliches, etwas anderes "Pubkey laden .... ungültiges Format", dies hier für die Suchmaschinen, da es buchstäblich 0 Ergebnisse für diese Abfrage gibt.
Elijah Lynn

Antworten:

3

Es gibt zwei separate Nachrichten:

Dieser sagt Ihnen, dass .ssh/private_rsa_keyim falschen Format:

key_load_public: invalid format
debug1: identity file /home/myname/.ssh/private_rsa_key type -1

Dieser wird nicht ohne -vSchalter angezeigt und ist nur informativ, um Ihnen mitzuteilen, dass Sie kein Zertifikat haben:

debug1: key_load_public: No such file or directory
debug1: identity file /home/myname/.ssh/private_rsa_key-cert type -1

An der zweiten Nachricht besteht kein Grund zur Sorge.

Jakuje
quelle
1
Wie wird ein ungültig formatierter privater Schlüssel noch überprüft? Ist ein Schlüssel nicht richtig oder falsch? (Ich habe die EOLs in beiden privaten Schlüsseln überprüft und beide verwenden keine Wagenrückläufe)
hiandbaii
Es ist ein allgemeiner Fehler. Es könnte alles sein. Wie sieht der Header der Datei aus?
Jakuje
----- BEGIN RSA PRIVATE KEY -----
hiandbaii
Dieser Thread sieht unvollständig aus. Was ist passiert, nachdem Sie bei @hiandbaii bekannt gegeben haben, dass Sie ----- RSA PRIVATE KEY ----- als Header der id_rsaDatei haben? Ich erhalte auch den gleichen Fehler key_load_public: invalid format. Aber die Lösung scheint ausweichend.
user30994
2

als ich ausgestellt habe

ssh myid@mydomain

und habe eine Nachricht erhalten (obwohl ich mich erfolgreich bei der Remote-Box angemeldet habe)

key_load_public: invalid format

Es geschah, weil meine lokale ~ / .ssh / xxx.pub tatsächlich tatsächlich Inhalt meiner privaten Schlüsseldatei hatte, obwohl der Remote-Host meinen öffentlichen Schlüssel korrekt in der Datei ~ myid / .ssh / autorisierte_keys hatte. Die SO-Lösung bestand darin, meine lokale ~ / zu korrigieren .ssh / xxx.pub also hatte es meinen öffentlichen Schlüssel

Scott Stensland
quelle
Haben Sie das Problem repliziert? Es scheint sehr unwahrscheinlich, dass beim Kopieren des privaten Schlüssels in die öffentliche Schlüsseldatei die SSH-Verbindung bis zum Ende hergestellt wird.
user30994
Hattest du sowohl öffentliche als auch private? So könnte es für Sie funktioniert haben - dh das Richtige finden, das Falsche ignorieren?
KolonUK
1
das war tatsächlich der Fall. Unglaublich!
Mario
0

Es gelang mir schließlich, den Inhalt des privaten RSA-Schlüssels genau zu kopieren und einzufügen, z

-----BEGIN RSA PRIVATE KEY-----
<content>.....
-----END RSA PRIVATE KEY-----

einschließlich aller EOL-Registerkarten oder was auch immer dort war.

Andrew Roe
quelle
Es gibt keine EOL nach dem-----END RSA PRIVATE KEY-----
user30994
0

Ich hatte diese Warnmeldung mit scp und ssh, als ich die Option -i verwendete. Ich fand, dass die Ursache in der öffentlichen Schlüsseldatei extra war. Meine Pub-Schlüsseldatei hatte 2 Zeilen mit 'wc -l'. Ich habe das Extra gelöscht und jetzt hat es nur 1 Zeile mit 'wc -l' und es gibt keine Warnmeldungen. Ich sollte klarstellen, dass ssh und scp mit und ohne Warnmeldung korrekt funktionierten.

Rod Melton
quelle
Ich hatte eine ähnliche Situation. Dies wurde durch die Verwendung des Flags -i id_rsa verursacht, wenn id_rsa.pub ebenfalls vorhanden war und am Anfang der Zeile Optionen (wie "no-pty") hatte. Durch Entfernen dieser Optionen oder Entfernen der gesamten Datei wurde die Warnung ausgeblendet. In jedem Fall wurde die Datei nie zum Anmelden benötigt. Kurz gesagt, es scheint, dass das Objekt, das nach einer * .pub-Datei neben der Datei sucht, die Sie mit dem Flag -i angeben, nicht weiß, wie mit Optionen umgegangen werden soll.
Archie
0

Dies passierte mir, da ich RSA- und DSA-Schlüssel in meinem .ssh-Ordner hatte. Der DSA-Schlüssel wird auf dem System nicht mehr akzeptiert, daher habe ich ihn einfach entfernt und die Nachricht ist verschwunden.

Vittorio de Gioia
quelle