ssh: Exited: String too long auf OpenWRT beheben

English Deutsch

Problem

Wenn du versuchst, SSH auf OpenWRT mit einem privaten Schlüssel auszuführen, z.B.

example_ssh_cmd.sh
ssh -i id_rsa user@host

triffst du auf diesen Fehler:

error_output.txt
ssh: Exited: String too long

Lösung

Dieser Fehler tritt auf, weil die SSH-Executable auf OpenWRT nicht das gleiche SSH ist, das du auf einem normalen Computer erwarten würdest:

dropbear_version.sh
root@OpenWRT:~# ssh
Dropbear client v2011.54

Die DropBear-SSH-Variante erwartet SSH-Schlüssel im DropBear-Format und nicht im PEM-Format (das von ssh-keygen generiert wird). Um einen neuen Schlüssel zu generieren, verwende dropbearkey wie folgt:

generate_dropbear_key.sh
dropbearkey -f id_rsa -t rsa -b 2048

Um vorhandene Schlüssel ins DropBear-Format zu konvertieren, versuche dropbearconvert zu verwenden.

Du kannst den öffentlichen Schlüssel aus dem DropBear-Schlüssel wie folgt extrahieren:

extract_pubkey.sh
dropbearkey -y -f id_rsa

Check out similar posts by category: Embedded, Linux