Anleitung: SSH (Dropbear) und Etherwake auf der FRITZ!Box

vielen Dank radislav,
gruss
jweghorn
 
w721v to fritzbox with etherwake via ssh

A quick tutorial for w721v as there are some tricky parts like fitting image to flashsize, which means removing some libs you perhaps don't need. You have to decide! .. not the best solution but also working great(here if you don't need SIP). Thanks to all running this forum.

start speed to fritz from linux(ubuntu) client:
activate
-w721v
-Addons: flash option, dropbear option

w721 flash-memory is small so we must reduce footprint to fit image inside as it is bigger - halt when script stops in Phase10 when root dir is built under speed2fritz/FBDIR/squashfs-root and is ready to pack to image

I don't need sip so i decided to delete /lib/libsip and /lib/libosip under that root folder..
(removing other libs may harm the whole functionality of the image and can leed to a not working box .. be careful .. removing libsip and liposip works for me)

and continue and install image

Activate telnet: update easily with this script via webfrontend update with tar from - http://www.ip-phone-forum.de/showthread.php?t=69245 (first post)
telnet fritz.box
generate keys: dropbearstart ?desired_root_password?
put them in via flash option activated "/var/tmp/s2f"(persistent over reboot by tar hack)
add

usr/bin/dropbear -d /var/tmp/s2f/dropbear/dss_host_key -r /var/tmp/s2f/dropbear/rsa_host_key
dropbearstart ?desired_root_password?

to startscript /var/flash/debug.cfg

add to /var/flash/ar7.cfg
"tcp 0.0.0.0:22 10.1.1.2:22 0 # SSH",
to make it available outside

activate via command
ar7cfgchanged

create ownstartscript under /var/tmp/s2f ( eg startupServer.sh )

#bin/sh

ether-wake -i eth0 macAddressOfPCtoWake
info urls:

save 2 flash

http://www.ip-phone-forum.de/showthread.php?t=199601&highlight=reboot+ssh+keys

telnet

http://www.ip-phone-forum.de/showthread.php?t=79500

resulting debug.cfg

/usr/sbin/telnetd -l /sbin/ar7login

/usr/bin/dropbear -d /var/tmp/s2f/dropbear/dss_host_key -r /var/temp/s2f/dropbear/rsa_host_key

/usr/bin/dropbearstart ?desired_root_password?
 
putty läuft nicht - keine virtuelle IP per the-construct

hi,
ich habe mir dropbear,wol bei der freetz installation auf den router gemacht. nun fehlen mir noch die genauen einstellungen zu folgenden schritte, da am ende ein timeout signal von putty kommt:
1. richtige portweiterleitung
2. DynDNS im Router
3. putty einstellen

mir hat max muster erklärt, dass ich keine virtuelle netzwerkkarte erstellen muss, sondern auch folgenden befehl in der shell ausführen kann:

pr=`find /var/html/ -name portrule.js`
sed 's/return g_mldIpAdr0000/return null/' $pr > /var/tmp/portrule.js
mount -o bind /var/tmp/portrule.js $pr

damit erzwinge ich sekundär auch eine portweiterleitung auf 0.0.0.0, jedoch muss ich in der GUI trotzdem eine Portweiterleitung einstellen.

1. dann habe in der portweiterleitung im router folgendes eingestellt:

Portfreigabe aktiv für: andere Anwendung
Protokol: TCP
Port: z.B. 55555 bis Port: 55555
an Computer: 192.168.178.21 (vergebene IP des zu weckenden PCs) <------ richtig????
an Port: 22

2. Unter der DynDNS-Einstellung steht folgendes:

Fernwartung aktiviert, https://XXX.ath.cx, Benutzername:
Dynamic DNS aktiviert, XXX.ath.cx, Status: erfolgreich angemeldet

3. dann habe ich putty so eingestellt:

Host Name z.B.: XXXX.ath.cx
Port z.B.: 55555
Connecting Type: SSH
SSH Protokol: 2
Tunnel:
Source Port 8181
Destination 192.168.178.1:81

Jedoch kommt dann immer eine Fehlermeldung: connection timeout!!

Wo liegt der Fehler im System?
DANKE !!
 
Hallo,

hätte da mal eine Frage:

Ich möchte per WOL einen rechner im Netzwerk (FB7270) starten, wenn ich den Befehl ether-wake -i eth0 00:00:00:00:00:00 in putty eingebe funktioniert auch alles wunderbar.
Ich würde das ganze aber gern über eine Batch Datei realisieren!

Die Batch Datei soll also sich auf die Fritzbox anmelden den oben genannten Befehl abarbeiten und sich wieder selbstständig schliessen.

Könnte mir da evtl. das kleine Script schreiben, wie ich das ganze über machen kann.

Vielen Dank


Gruss,
David
 
Schau Dir mal 'plink' an, die Kommandozeilen Version von PuTTY.

Tschö, Jojo
 
Hallo,

mein Probloem ist es ja, das ich die Befehle nicht kenne, um sich mit Telnet an die FB anzumelden!

Gruss,
David
 
Hallo David,

zunächst brauchst du natürlich die plink.exe.
Das Programm legst du im gleichen Verzeichnis ab, wo schon Putty drin ist.
Hier noch ei Beispiel für eine Batch-Datei:
Code:
cd c:\programme\putty
plink -pw [COLOR="red"]DeinPasswort[/COLOR] root@[COLOR="red"]192.168.178.1[/COLOR] /usr/bin/ether-wake -i eth0 [COLOR="Red"]00:00:00:00:00:00[/COLOR]
Die roten Einträge musst du noch anpassen.

Joe
 
Zuletzt bearbeitet:
Hallo Joe,

danke für Deine Anwort, aber irgendwie funktioniert das noch so nicht so ganz:


Wenn ich mich direkt per Telnet über putty auf die FB einwähle und ether-wake -i eth0 00:00:00:00:00:00 eingebe funktioniert alles.

Wenn ich aber jetzt das von Dir als eine Batch Datei abspeichere cd F:\Downloads\putty
plink -pw Passwort [email protected] /usr/bin/ether-wake -i eth0 00:00:00:00:00:00

und die bat starte passiert leider nichts, vieleicht hab ich auch etwas falsch gemacht?!?

plink liegt dabei auch im selben verzeichnis von putty

Gruss,
David
 
telnet??? oder SSH? In erstem Fall wird's nicht im Batch funktionieren.

Oder liegt ether-wake bei Dir nicht in /usr/bin/? Dann muss das natürlich angepasst werden
 
telnet, da ich nur intern den rechner starten möchte
Wie finde ich heraus wo ether-wake bei mir liegt
 
Für 'ne batch Datei wird's auch intern SSH sein müssen.
Aber versuche mal den "plink -telnet 192.168.178.1 /usr/bin/ether-wake -i eth0 00:00:00:00:00:00"
'type ether-wake' sagt Dir wo 's liegt.
 
ether-wake liegt bei mir im usr/bin verzeichnis

wenn ich cd F:\Downloads\putty\
plink -telnet 192.168.178.1 /usr/bin/ether-wake -i eth0 00:00:00:00:00:00

Meldet ich mich bei der FB an, was schon mal gut ist, nur er gibt den ether-wake Befehl zu früh ab, wenn ich nämlich in dem selben Fenster, dass ihc mit der Batch Datei geöffnet habe den ehter-wake Befehl manuell eingebe, startet auch der PC.

Mann müsste also nachdem Anmeldung etwas warten und dann den ether-wake Befehl senden
 
Oder eben SSH verwenden (und dazu auf der Box dropbear installieren und starten)
 
nach langer Pause melde ich mich hier erneut
ich habe zuerst die Lösung mit der geänderten debug.cfg
und dann die Lösung von the construct probiert beides führte leider nicht zum Erfolg

da ich die lösung von theconstruct nicht verstanden habe
versuche ich das Problem der ursprünglichen konfiguration zu beheben


Hier nochmal kurz eine Übersicht was aktuell gemacht ist


FRITZ!Box Fon WLAN 7050, Firmware-Version 14.04.33
Branding entfernt


aktuelle debug.cfg
Code:
# # Start des telnet-daemons
/usr/sbin/telnetd -l /sbin/ar7login

# # Warten auf Serververbindung
while !(ping -c 1 www.server.de); do
sleep 5
done

# # Installation busybox
cd /var/tmp/
wget http://www.server.de/data/busybox-1.2.1
chmod +x /var/tmp/busybox-1.2.1

# # WOL kurzstartdatei erstellen
echo "/var/tmp/busybox-1.2.1 ether-wake -i lan xx:xx:xx:xx:xx:xx" > /var/tmp/start_server
chmod +x /var/tmp/start_server


# # Installation ssh-Server
cd /var/tmp/
wget http://www.server.de/data/dropbearmulti-static
chmod +x /var/tmp/dropbearmulti-static

ln -s /var/tmp/dropbearmulti-static dropbear 
ln -s /var/tmp/dropbear dropbearkey
ln -s /var/tmp/dropbearmulti-static dropbearkey
/var/tmp/dropbearkey -t rsa -f /var/tmp/dropbear_rsa_hostkey -s 512 
cp -p /var/tmp/shadow /var/tmp/tmp_shadow


# # Hash des root-Passworts
sed -e "/root:/s#^root:[^:]*:#root:[HashwertPW]:#" /var/tmp/tmp_shadow > /var/tmp/shadow
/var/tmp/dropbear -r /var/tmp/dropbear_rsa_hostkey

Eintrag in der /var/fash/ar7.cfg vorgenommen
Code:
"tcp 0.0.0.0:22 0.0.0.0:22 0 # SSH",


Zu den Fehlern.

Bei den Befehlen
Code:
/var/tmp/dropbearkey -t rsa -f /var/tmp/dropbear_rsa_hostkey -s 512
und
Code:
/var/tmp/dropbear -r /var/tmp/dropbear_rsa_hostkey
bekomme ich die Ausgabe
Code:
Bus error

dann habe ich etwas rumprobiert

./dropbearmulti-static gibt mir auch "Bus error" zurück


habe die "dropbearmulti-static" in der debug.cfg durch "dropbearmulti" ausgetauscht

./dropbearmulti gibt mir auch "Bus error" zurück

weiß nicht ob das normal ist ich denke aber eher mal nicht
gibt es da evtl neue Dateien die bei mir laufen könnten ?


soweit ich das verstehe klappt die erstellung des Hostkeys nicht
oder dopbear kommt meiner Firmware version nicht klar

Lösungsansatz:

Neuer Dropbear

oder

ich schreibe einfach einen festen Hostkey

oder

ein weiteres tool das die keys erzeugen kann

Frage:

in welche dateien muss ich den key schreiben ?
nur in die "/var/tmp/dropbear_rsa_hostkey"

wie kann ich mir so einen Key wo anders erzeugen lassen bzw wo bekomm ich einen her und kann ich den einfach in diese Datei schreiben ?

welches andere tool würde mir bei meiner firmware version noch zur Verfügung stehen mit dem ich evtl die keys erzeugen kann.


ich Danke schon jetzt sehr für jede Hilfe die ihr mir geben könnt
MfG ein verzweifelter Uziel
 
Hast Du schon versucht, diese Thema nach "Bus error" zu durchsuchen?

ja aber ich muss zugeben nach 3 Stunden hab ich aufgegeben
da ich nichts passendes finden konnte oder der tread ohne erfolg beendet wurde

Edit:

hab nochmal was durchprobiert:

dropbear aus diesen Tread genommen:
http://www.ip-phone-forum.de/showpost.php?p=1234666&postcount=18

nun kommt aber "Segmentation fault"
dazu habe ich dann das(Link) hier gefunden ist aber auch nicht gelöst :(
 
Zuletzt bearbeitet:
@UziEL warum generierst du denn bei jedem start der box einen neuen rsa key? dann ist ja die ganze funktion futsch, nämlich dass du sicher sein kannst, dass dein putty wirklich mit deiner eigenen box verbunden ist...

kannst zum test mal den statisch gelinkten dropbearmulti von meinem server probieren:
Code:
wget -P /var/tmp http://h3po.de/public/fritz.box/dropbearmulti
wget -P /var/tmp http://h3po.de/public/fritz.box/sftp-server
chmod +x /var/tmp/dropbearmulti
chmod +x /var/tmp/sftp-server

#rsa hostkey ausschreiben
echo > /var/tmp/dropbear_rsa_host_key
/var/tmp/bin/uudecode -o /var/tmp/dropbear_rsa_host_key <<\EOP
begin 600 /var/tmp/dropbear_rsa_host_key
M````!W-S:"UR<V$````#`0`!````@P"CX'=/EV'?H+%AX1>P^>GAX0ZB&1#Q
M^<L***_-E>TP``
`
end
EOP

ln -s /var/tmp/dropbearmulti /var/tmp/dropbear
chmod +x /var/tmp/dropbear
/var/tmp/bin/ifconfig eth0:0 192.168.178.2 netmask 255.255.255.0 broadcast 192.168.178.255 up
/var/tmp/dropbear -r /var/tmp/dropbear_rsa_host_key -p 192.168.178.2:22

eine anmerkung dazu noch: das passwort-login sollte man später, wenn der rest funktioniert, deaktivieren (parameter -s) und keyfiles benutzen. wie das geht steht schon früher in diesem thread.
 
#####EDIT#####

Habe gerade was wichtiges herausgefunden
ich denke ich mache irgendeinen fehler beim ersetzen meines alten dropbearmulti

ich hab mir einfach mal direktvon deinem server die dropbearmulti gezogen "http://h3po.de/public/fritz.box/dropbearmulti"
dann noch ein freundliches "chmod +x /var/tmp/dropbearmulti"
und "./dropbearmulti" gibt keinen fehler mehr zurück

dann hab ich mir die datei auf meinen win7 rechner gezogen
anschließend auf meinen eigenen Server geladen
/sbin/reboot zum neustart der box
jetzt sollte er doch alle alten dateien verlieren und den dropbear neu laden
wenn ich mich jedoch auf der box via telnet einlogge und

cd /var/tmp/
./dropbearmulti

bekomme ich "Segmentation fault"

hab die debug.cfg jetzt mal so abgeändert das sie direkr von "http://h3po.de/public/fritz.box/dropbearmulti" läd
dann funktioniert die datei auch

kann es sein das ich die datei zerstöre wenn ich sie auf meinen win rechner zihe und dann wieder hochlade
und wie kann ich das verhindern
mit den anderen dateien hat es bis jetzt fuktioniert

wenn ich dann das ganze noch mal direkt von deinem server per hand lade gehts
woran liegt das ? was mache ich falsch ?

----
PS. Mit datei von "http://h3po.de/public/fritz.box/dropbearmulti" geladen fuktioniert der ganze ssh server und ich kann mich einloggen :D
ich bin so happy

jetzt muss ich nur noch die Datei auf mein egenen server ohne beschädigung bringen
aber jetzt lehn ich mich erst mal zurück mit nem guten glaß wein dieser Erfolg muss ich feiern :D
 
Zuletzt bearbeitet:
Das Problem mit der Datei im darüber genannten post ist noch nicht behoben
ich hab jetzt einfach mal mit der direkt von "http://h3po.de/public/fritz.box/dropbearmulti" auf die box geladenen datei weitergemacht


nächstes Ziel für mich ist ein fester Rsa Hostkey dazu benötige ich ja uudecode
hat mir jemand das uudecode file zum download alle die ich bis jetzt gefunden habe stammen aus alten posts und die passten alle nicht zu meinem kernel
(cant resolfe symbol...)

dann muss ich mir ja erst mal nen key erzeugen das hab ich dann so gemacht
Code:
/var/tmp/dropbearkey -t rsa -f /var/tmp/dropbear_rsa_hostkey -s 512
Will output 512 bit rsa secret key to '/var/tmp/dropbear_rsa_hostkey'
Generating key, this may take a while...
Public key portion is:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAQl/rdd6I4Am/ctWw5DyOV8ALqfVeesS05sZyAz9tk/rTekIRgVsnYlFMiH0Ucfhh7ymqzjwxMqIz4ZHGIs3mbILhZw== root@(none)
Fingerprint: md5 39:8e:85:f8:6c:2e:34:7d:3e:47:46:f9:25:8e:27:28

dann hätte ich in meiner debug.cfg anstatt
Code:
/var/tmp/dropbearkey -t rsa -f /var/tmp/dropbear_rsa_hostkey -s 512

Code:
cd /var/tmp
wget http://www.server.de/data/fritzbox/uudecode
chmod +x /var/tmp/uudecode

/var/tmp/uudecode -o /var/tmp/dropbear_rsa_host_key <<\EOP
begin 600 $localdir/dropbear_rsa_host_key
AAAAB3NzaC1yc2EAAAADAQABAAAAQl/rdd6I4Am/ctWw5DyOV8ALqfVeesS05sZyAz9tk/rTekIRgVsnYlFMiH0Ucfhh7ymqzjwxMqIz4ZHGIs3mbILhZw
`
end
eingefügt

ist das so richtig oder totaler bockmist ?
ich konnte es leider noch nicht testen da ich kein uudecode finde
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.