Passwortlose, auf öffentlichem Schlüssel basierende SSH-Anmeldung am Router mit Asus Merlin-Firmware

Passwortlose, auf öffentlichem Schlüssel basierende SSH-Anmeldung am Router mit Asus Merlin-Firmware

Ich versuche, die passwortlose SSH-Anmeldung auf meinem ASUS RT-AC68U-Heimrouter zu aktivieren, auf dem die Version 384.4_2 vonAsuswrt-Merlin-Firmware(die aktuellste zum Zeitpunkt der Veröffentlichung dieses Artikels). Nachdem ich viele Beiträge und Anleitungen gelesen habe (einschließlichDieses hier), ich kriege es immer noch nicht zum Laufen.

Ich verwende PUTTYGEN, um ein Paar RSA-2048-Schlüssel zu generieren, speichere den öffentlichen Schlüssel auf ~/.ssh/authorized_keysdem Router und versuche dann, eine Verbindung mit PUTTY herzustellen, das ich auf RSA beschränkt habe. Während PUTTY die Sitzungsverschlüsselung aushandelt, fordert es dazu auf, den vom Server bereitgestellten öffentlichen Schlüssel zu akzeptieren.Ich erwarte, dass es mein Schlüssel ist, ~/.ssh/authorized_keysaber stattdessen wird mir immer der öffentliche Schlüssel des Dropbears (von /etc/dropbear/dropbear_rsa_host_key) angezeigt.Ich weiß, dass es dieses ist, weil ich laufe dropbearkey -y -f /etc/dropbear/dropbear_rsa_host_key.

Die Berechtigung für ~/.sshOrdner ist auf gesetzt 700, für ~/.ssh/authorized_keysauf 600. Der Schlüssel wird über die Web-Benutzeroberfläche des Routers im richtigen Format (also ssh-rsa AAAA...5iYw== rsa-key-20180401, ohne Zeilenumbrüche) gespeichert. Ich habe sowohl als rootals auch adminals SSH-Benutzer versucht. Ich habe auch alles von Grund auf neu versucht, nachdem ich den Router auf die Werkseinstellungen zurückgesetzt hatte, mit demselben Ergebnis.

Habe ich etwas übersehen? An diesem Punkt besteht meine einzige Möglichkeit wohl darin, den privaten Schlüssel des Dropbears zu extrahieren /etc/dropbear/dropbear_rsa_host_keyund zu verwenden, anstatt meinen eigenen zu generieren.

Antwort1

Geben Sie Ihren öffentlichen Schlüssel ein in/etc/dropbear/authorized_keys

bearbeiten:

Ich dachte ursprünglich, dass Dropbear nicht liest, ~/.sshobwohl es das sollte, also habe ich auf das Standardverzeichnis verwiesen /etc/dropbear/. authorized_keysEs ist standardmäßig nicht da, also ist es nicht so offensichtlich.

beim erneuten Lesen der Frage ist mir aufgefallen, dass Sie Host-Schlüsselpaare mit Login-Schlüsselpaaren verwechselt haben.

Sie müssen das Host-Schlüsselpaar des Routers () akzeptieren /etc/dropbear/dropbear_rsa_host_keyund Ihren öffentlichen Schlüssel in der authorized_keysDatei an einem der Speicherorte des Routers ablegen. Dann sollte es losgehen.

Antwort2

In TBs obigem Beitrag fehlt eine sehr wichtige Information. Um SSH auf Ausus Merlin 386.3_2 und höchstwahrscheinlich auch auf anderen Versionen zum Laufen zu bringen, muss man die Jiffs-Partition im Router aktivieren. Ich habe Jiffs nur aktiviert, aber nicht formatiert, da dort bereits Konfigurationsdateien usw. vorhanden sind und diese, wenn sie gelöscht werden, zu einem weiteren Problem werden könnten.

Aktivieren Sie die Jiffs-Partition von mit in Asus Merlin WUI. Sie sollte sich unter „Verwaltung“ über dem SSH-Feld befinden.

Fühlen Sie sich frei, diese kleine Information zu posten. Es ist so, als ob in einer komplizierten Anleitung die Syntax fehlt ...

verwandte Informationen