key_load_public: Ungültiges Format mit scp oder git clone unter Ubuntu 15.10

17

Nach einer Neuinstallation von Ubuntu 15.10 erhalte ich bei Verwendung von scpoder git clonedie folgende Warnung (der Befehl selbst schlägt nicht fehl):key_load_public: invalid format

Wie kann ich diese Warnung loswerden?

Update: Dies ist die Ausgabe von scp -vvv:

OpenSSH_6.9p1 Ubuntu-2, OpenSSL 1.0.2d 9 Jul 2015
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to ... [...] port 22.
debug1: Connection established.
key_load_public: invalid format
debug1: identity file /home/alexzeitler/.ssh/id_rsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/alexzeitler/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/alexzeitler/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/alexzeitler/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/alexzeitler/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/alexzeitler/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/alexzeitler/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/alexzeitler/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.9p1 Ubuntu-2
Alexander Zeitler
quelle
Es sollte mehr als nur einenkey_load_public: invalid format
AB
Bitte posten Sie das gesamte ausführliche Protokoll.
Jakuje
@Jakuje Fügte der Frage die ausführliche Ausgabe hinzu.
Alexander Zeitler
Ich meinte ziemlich ausführliches Protokoll von scp, scp -vvv file remote:fileum den Kontext von ssh
Jakuje vom
@ Jakuje Aktualisiert es erneut - ist das ausreichend?
Alexander Zeitler

Antworten:

33

Überprüfen Sie die Datei /Users/alexzeitler/.ssh/id_rsa. Was ist dort? Wie ist es dahin gekommen?

Es sollte Ihr privater RSA-Schlüssel sein, nicht wahr? Und ist da etwas drin /Users/alexzeitler/.ssh/id_rsa.pub? Ist es ein gültiger öffentlicher Schlüssel?

Wenn Sie diese Schlüssel nicht verwenden, entfernen Sie beide, und die Meldung wird ausgeblendet. Wenn Sie sie anders verwenden, verschieben Sie sie an einen anderen Ort. Das gleiche, wenn sie in einem anderen Format vorliegen.

Der öffentliche Teil ist wahrscheinlich beschädigt, sodass Sie ihn mit dem folgenden Befehl von einem privaten Teil aus neu erstellen können:

ssh-keygen -f ~/.ssh/id_rsa -y > ~/.ssh/id_rsa.pub

hostkeys möglichkeit

Die andere Möglichkeit ist, dass der Client versucht, die öffentlichen Schlüssel des Servers zu lesen HostBasedAuthentication. Hast du es nicht erlaubt /etc/ssh/ssh_config?

Eine dieser Dateien fehlt oder ist beschädigt:

/etc/ssh/ssh_host_ecdsa_key.pub
/etc/ssh/ssh_host_ed25519_key.pub
/etc/ssh/ssh_host_dsa_key.pub
/etc/ssh/ssh_host_rsa_key.pub

Ihr sshdServer beschwert sich nicht?

Jakuje
quelle
Die öffentlichen und privaten Schlüssel sind gültig, wenn sie zB mit git + GitHub
Alexander Zeitler
hat die Antwort bearbeitet. In einigen Fällen können auch die Serverschlüssel die Ursache sein.
Jakuje
2
Der war schon mal da. Ich glaube, der öffentliche Teil ist irgendwie korrumpiert. Sie können versuchen, einen neuen öffentlichen Schlüssel mit dem privaten Schlüssel zu generieren ssh-keygen -y ~/.ssh/id_rsa.
Jakuje
3
den öffentlichen Schlüssel aus dem privaten wiederherzustellen - danke für Ihre Hilfe und Geduld! Bitte aktualisiere die Antwort, damit ich sie als Antwort markieren kann.
Alexander Zeitler
5
Übrigens war der Befehl, den ich verwendete:ssh-keygen -f ~/.ssh/id_rsa -y > ~/.ssh/id_rsa.pub
Alexander Zeitler