[Fli4l_dev] ssh-login mit public/private key - file format error beim private key file

Peter Schiefer newsgroup at lan4me.de
Mo Dez 9 21:07:34 CET 2019


Hallo Alex, Hallo Hans,

Am Sun, 8 Dec 2019 21:45:58 -0800 (PST) schrieb lespocky at gmail.com:

>> SSHD_PUBLIC_KEYFILE_x wird anscheinend falsch interpretiert.

funktioniert hier wie erwartet - Datei liegt in <mein
configdir>/etc/ssh/mein_pub_key.pub und in 
SSHD_PUBLIC_KEYFILE_1='mein_pub_key.pub' 
 
in der Datei /etc/rc.d/rc460.dopbear ist zu erkennen, das ene der folgende
Bedingungen für das PUBLIC_KEYFILE zutreffen müssen, damit der Inhalt in
die /.ssh/authorized_keys übernommen wird:
- grep -q -E "^(ssh-[rd]s[as]|ecdsa-sha2-[^[:space:]]+) "
- grep -q "SSH2 PUBLIC KEY"
- grep -q "SSH2 PUBLIC KEY"


>>>> Wenn ich in mkfli4 fürs Remote Update den privaten Schlüssel (.ppk)
>>>> eintrage, erhalte ich beim SCP die Meldung:
>>>>> Unable to load private key file "<kompletter Pfad zum .ppk>" (file format error)
>>>> und werde nach dem Passwort gefragt.

das Programm pscp.exe das durch mkfli4l aufgerufen wird erwartet nicht das
binäre ppk Format sondern das PEM Format das so aussieht:
-----BEGIN RSA PRIVATE KEY-----
....
....
....
-----END RSA PRIVATE KEY-----

>>> 
>>> Mit mkfli4l unter Windows kenne ich mich nicht aus, aber offenbar
>>> erwartet er hier den private Key im PuTTY-Format.

Nein im PEM-Format.

>>> Hast Du mal versucht den nicht da einzutragen sondern mit pageant zu
>>> laden? Das ist der SSH-Agent von PuTTY, damit brauch man nicht ständig
>>> sein Passwort neu eingeben und dann auch in PuTTY o.ä. nicht extra eine
>>> .ppk-Datei angeben.

wenn der Parameter nicht belegt ist, wird pscp.exe ohne den Parameter -i
aufgerufen, worauf dann Passwort-Authentifizierung durchgeführt wird.

>>> Unable to load private key file "<kompletter Pfad und Dateiname>"  (file format error)

bitte den Privaten Key in einr Datei im PEM-Format verwenden!
 
> Das sieht mir irgendwie nach einem Problem mit mkfli4l unter Windows aus. Da kann ich weiter nichts zu sagen.

mit mkfli4l hat das _nichts_ zu tun sondern mit dem Format, das PCSP.exe
erwartet!

>> Das scheint daran zu liegen, dass der im .pub File übertragene Schlüssel 
>> auf dem fli4l in authorized_keys falsch eingetragen wird.

siehe rc460.dropbear - die Inhalte des Files wird via cat direkt angehängt
wenn eine der Bedingungen (siehe weiter oben) zutrifft.

>>> flitest 4.0.0-r55209-testing # cat /.ssh/authorized_keys
>>> ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoY[...]QSbVkaWO4A= ecdsa-key-fli at home

das die Zeile aus der Variable

>>> ssh-dss AAAAE2VjZHNhLXNoY[...]QSbVkaWO4A=

und das der Inhalt der Datei


Gruß Peter

P.S.: ich empfehle einfach mal den Code in rc460.dropbear zu lesen und zu
verstehen ;)


Mehr Informationen über die Mailingliste Fli4l_dev