Skip to content

Latest commit

 

History

History
35 lines (30 loc) · 3.07 KB

shellinabox.md

File metadata and controls

35 lines (30 loc) · 3.07 KB

shellinabox 2.21

Anmerkungen (05.02.2024 - getestet mit FritzBox Firmware 154.07.57 und Shell-In-A-Box v2.21)

Intern verwendet Shell-In-A-Box standardmässig das Programm /bin/login - und das kann nicht mit Passwörtern umgehen, die in /etc/shadow gespeichert sind. Damit schlägt ein Login dann unweigerlich fehl...

Es gibt zwei mögliche Lösungen für das Problem:

  1. Passwörter aus /etc/shadow nach /etc/passwd kopieren oder verschieben.
    (dies betrifft v.a. das Passwort des root-Benutzers...) Das lässt sich bei einer ssh-Session und Kenntnissen mit dem vi oder einem anderen Texteditor machen; Um es dauerhaft zu machen, darf ein modsave flash danach nicht vergessen werden! Ist aber m.E. nicht schön; beim neuen Setzen eines Passworts für ssh (z.B. über /usr/bin/passwd) wandert das Passwort wieder nach /etc/shadow...
    Deshalb bevorzuge ich die zweite Lösung:
  2. eine SSH-Session statt der LOGIN-Session aufbauen.
    Die zweite Lösung benötigt einen laufenden ssh-Daemon (z.B. dropbear) auf der Box - aber wer hat das nicht? ;-) Dann muss man Shell-In-A-Box dazu bringen, statt dem "normalen" LOGIN-Service den SSH-Service zu verwenden. Hierzu trägt man über die Konfigurationsseite des Shell-In-A-Box-Pakets in der Freetz WebUI unter "Service:" folgendes ein:
    /:SSH:<hostname|ip>[:<sshport>]
    Für einen SSH-Daemon der lokal auf der Box angesprochen werden soll, kann als hostname localhost eingetragen werden. Hört der SSH-Daemon auf den Standardport 22, kann die optionale sshport-Angabe auch weg gelassen werden. Für einen dropbear-Paket, das auf der Box läuft und auf alle Schnittstellen hört und dessen Port z.B. auf 2222 gesetzt ist, würde die Angabe also folgendermaßen aussehen:
    /:SSH:localhost:2222

Übrigens ließe sich der Shell-In-A-Box-Dienst auch verwenden, um SSHs auf anderen (internen) Rechnern zu benutzen; und es ließen sich lt. Doku auch mehrere (durch Leerzeichen getrennte) Services definieren, die gleichzeitig aktiv sind. Die Shell-In-A-Box-Doku gibt darüber Auskunft, was sonst noch möglich ist (allerdings steht dort aktuell die Möglichkeit, den SSH-Port angeben zu können nicht drin - obwohl da bereits seit 2018 ein Patch für integriert wurde)... Sind mehrere Services aktiv, kann auf der Shell-In-A-Box Login-Webseite (standardmässig Port 4200) per Rechtsklick ein Menü aufgeschaltet werden, in dem die eingestellten Services auswählbar sein sollen (habe ich bisher nicht ausprobiert).

Nachdem auf SSH-Service umgestellt wurde, klappt auch der Login.