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.