SSHing in mein System ist erfolgreich, aber auch ohne das -v
Flag erhalte ich eine key_load_public: invalid format
Nachricht. 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
Antworten:
Es gibt zwei separate Nachrichten:
Dieser sagt Ihnen, dass
.ssh/private_rsa_key
im falschen Format:Dieser wird nicht ohne
-v
Schalter angezeigt und ist nur informativ, um Ihnen mitzuteilen, dass Sie kein Zertifikat haben:An der zweiten Nachricht besteht kein Grund zur Sorge.
quelle
id_rsa
Datei haben? Ich erhalte auch den gleichen Fehlerkey_load_public: invalid format
. Aber die Lösung scheint ausweichend.als ich ausgestellt habe
und habe eine Nachricht erhalten (obwohl ich mich erfolgreich bei der Remote-Box angemeldet habe)
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
quelle
Es gelang mir schließlich, den Inhalt des privaten RSA-Schlüssels genau zu kopieren und einzufügen, z
einschließlich aller EOL-Registerkarten oder was auch immer dort war.
quelle
-----END RSA PRIVATE KEY-----
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.
quelle
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.
quelle