Shellinabox kann man sowohl unverschlüsselt über http-Protokoll als auch über den SSL-verschlüsselten https-Protokoll laufen lassen.
Diese Anleitung beschreibt also den verschlüsselten Zugang zur Shell. Der Nachteil dieser Version ist ein größeres Binary, was vor allem bei Fritz!Boxen ohne USB-Speicher-Einsatzes den Speicher mehr belastet.
ACHTUNG: Ich empfehle aus Sicherheitsgründen ausschließlich diese Version und nicht die Version ohne SSL!
Bei der neukompilierten Version „shellinaboxd_v2.14_patched_…“ funktionieren nun die Eingaben einiger Sonderzeichen, z.B. „#“, „-„, „_“, „+“, „*“.
Fritz!Box ohne USB-Speicher
Es muss in dieser Version ein Zertifikat erstellt werden und muss dann bei Fritz!Boxen ohne USB-Speicher irgendwo im Netz abgelegt werden. Ich verzichte zunächst auf die Anleitung dazu.
Fritz!Box mit USB-Speicher
1. Folgende Dateien herunterladen und auf dem USB-Speicher im Ordner „shellinabox“ ablegen:
- Für mipsel-Fritz!Boxen (z.B. 7270, 7170 und andere):
- Für mips-Fritz!Boxen (z.B. 7390, 7340 und andere):
Bitte ändern Sie den Namen der jeweiligen shellinaboxd auf „shellinaboxd“!
Fortgeschrittene dürfen auch gerne anderes Verzeichnis wählen. Vergessen Sie dabei nicht die Anpassung im Code.
2. Hier muss man den Zertifikat für SSL erstellen. Dieser wird in einer Datei „certificate.pem“ auf dem USB-Speicher im Ordner „shellinabox“ abgelegt.
3. Hier muss man den Hash-Code zum Passwort erstellen. Dieser wird dann anstelle von „meinPassword“ eingesetzt.
HINWEIS: Die Single Quotes (‚) um den Hash-Code darum herum sorgen dafür, dass Sonderzeichen ignoriert werden. Diese dürfen also nicht vergessen werden.
4.
Die unten stehende Schritte in der Konsole ausführen. Anschließend muss die Fritz!Box per http://fritz.box:4200/ erreichbar sein:
5. Falls alles funktioniert kann man das Ganze in debug.cfg eintragen (siehe Kap. „debug.cfg“)
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
HDD='Hitachi-HTS543216L9A300-01' # ACHTUNG: unbedingt anpassen! HDD_ABSOLUT='/var/media/ftp/'$HDD LOGIN='myname' PASSWD='mypassword' TEMP=/var/tmp while ! [ -d $HDD_ABSOLUT ] ; do sleep 5; done cd $TEMP cp $HDD_ABSOLUT/shellinaboxd/shellinaboxd $TEMP/shellinaboxd chmod +x shellinaboxd mkdir cert cp $HDD_ABSOLUT/shellinaboxd/certificate.pem $TEMP/cert/ if ! grep -q $LOGIN /etc/passwd; then echo $LOGIN:$PASSWD:0:0:root:/:null >> $TEMP/passwd; fi $TEMP/shellinaboxd -u root -g root -c $TEMP/cert -b |
Zugriff von Außen
Um einen Zugriff auf die Webseiten von Außen zu ermöglichen, ist ein Eintrag in ar7.cfg bei „forwardrules“ notwendig:
1 2 3 4 |
forwardrules = "udp 0.0.0.0:5060 0.0.0.0:5060", [...] "tcp 0.0.0.0:4200 0.0.0.0:4200 0 # shellinabox" [...] |
Siehe dazu Kapitel „ar7.cfg“