SSH oder SFTP auf der 7170

augenstern

Mitglied
Mitglied seit
11 Jun 2007
Beiträge
203
Punkte für Reaktionen
0
Punkte
0
Hallo,
ich hab noch die gute alte 7170, technisch bin ich nicht auf dem aktuellsten Stand.
Ich würde gerne Dateien per dyndns im INet freigeben, will aber keinen "einfachen" ftp Zugang, sondern nach Möglichkeit ftps haben. Geht das, wenn ja könnte mir bitte jemand einen LInk schicken, wo ich Details nachlesen kann (damit ich nicht so viel fragen muß)?

Vielen Dank!
 
Moin

Vorsicht: FTPS ist nicht SFTP
(FTPS kann eine NAS-Box mit Bordmitteln, einfach aktivieren)

Da du ja USB hast, sollte mit ein wenig Übung laut Anleitung auf fritzmod.net alles klar gehen.
Mit der busybox (je nach Version) kommt auch ein httpd (Webserver) auf deine Box, den du nur noch konfigurieren/starten musst/kannst.
Damit SSH/SFTP was zum spielen haben.
Zum Beispiel zeigt die FritzBox keine aktuelle Uhrzeit an, so kann man sie nachinstallieren:
Eine Scalable Vector Graphics Analoguhr mit römischen Ziffern.
Soll heissen (SVG):
Sie läßt sich ohne Qualitätsverlust vergrössern oder verkleinern (Strg +/- im Browser) mit einer butterweichen Sekundenzeigeranimation.
Kiek dir mal den Quelltext an.
:rolleyes:
 
Zuletzt bearbeitet:
Hallo und Danke an Euch beide!

Also, meine Linux/Unix Kenntnisse sind schon mehr als nur angestaubt, aber ich hab mich mal durchgearbeitet und langsam kommt die Erinnerung wieder hoch (zumindest denke ich, ich verstehe die Anleitung).
Ich hab aber noch ein paar Fragen:

- ich würde gerne PutTTY mit DH-Key-Exchange nutzen, kann das der Dropbear?

- in der debug.cfg ist schon das TSB-Script drin. Wohin setze ich die neuen Befehle, wohl ans Ende der debug.cfg?

Hier die debug.cfg (Beispiel) von fritzmod.net (ich hab mal meine Unklarheiten ans Ende als Kommentar (mit '# ??...) geschrieben:

HDD='Hitachi-HTS543216L9A300-01' # ACHTUNG: unbedingt anpassen!
HDD_ABSOLUT='/var/media/ftp/'$HDD
PASSWD='meinPassword'
TEMP=/var/tmp

while ! [ -d $HDD_ABSOLUT ] ; do sleep 5; done

cd $TEMP
cp $HDD_ABSOLUT/ssh/busybox $TEMP/busybox # ?? warum muss man die Binaries nach /var/temp kopieren, kann man nicht einfach auf USB starten?
cp $HDD_ABSOLUT/ssh/dropbearmulti $TEMP
cp $HDD_ABSOLUT/ssh/sftp-server $TEMP
cp $HDD_ABSOLUT/ssh/dropbear_rsa_host_key $TEMP
cp $HDD_ABSOLUT/ssh/dropbear_dss_host_key $TEMP
chmod +x busyboxchmod +x busybox
chmod +x sftp-server
chmod +x dropbearmulti
$TEMP/busybox sed -e "/root:/s#^root:[^:]*:#root:$PASSWD:#" -i $TEMP/shadow # ?? wozu dient das?
ln -s $TEMP/dropbearmulti dropbearkey
ln -s $TEMP/dropbearmulti dropbear
$TEMP/dropbear -p 22 -r $TEMP/dropbear_rsa_host_key -d $TEMP/dropbear_dss_host_key # ?? kann man die rsa/dss Keyfiles nicht auf dem USB liegen lassen?

Ich werd am WoEnde mein Glück mal versuchen.


Nachtrag: der Speicher der FBF ist ja begrenzt, wie kriegt man raus, ob der Speicher reicht?

Vielen Dank nochmal für die Hilfe!
 
Zuletzt bearbeitet:
Na klar kannste die Binaries auf USB belassen.
Wenn FAT32 formatiert kannste dir auch das chmod +x sparen, alle Dateien sind auf FAT ausführbar.
Die rsa/dss Schlüssel müssen nur einmal erstellt werden und können auch auf USB rumliegen.
In /etc/shadow (Softlink auf /var/tmp/shadow) ist das Passwort für root, das wird aufjedenfall gebraucht und muss funktionieren.
Das root Passwort sollte aber kein Reintext sein.
Das Linuxkommando für Speicherbelegung ist: free
Wenn du es noch genauer haben möchtest: cat /proc/meminfo
Laufwerksbelegung: df
 
Zuletzt bearbeitet:
Hallo,

ich hab heute mal experimentiert:
ich hab mir die rsa/dss Keys erzeugt und auf dem Usb-Stick belassen, danach hab ich das Script so abgespeckt (cp, chmod weggelassen) und geändert, daß die Binaries auf dem UsbStick ausgeführt werden.
Zum Testen hab ich die Kommandos nacheinander von Hand eingegeben: keine Fehlermeldungen. (ar7.cfg auch angepaßt: das forwardrules = "udp 0.0.0.0:5060 0.0.0.0:5060", hab ich weggelassen, was ist port 5060??).

Ich kann mich per PuTTY auf die Box verbinden.
ABER:es geht bei der SSH Verbindung nur "ftpuser" mit dem Passwort der Box, aber immerhin, ich krieg ne Shell.

Danach per Filezilla per sftp auf den 22er Port. FZ meldet, daß das Zertifikat unbekannt sei, aber ich vertraue dem Zertifikat.
ABER: es kommt keine sftp Verbindung zu Stande: FZ meldet Authentifizierungsfehler. Auf http://www.fritzmod.net/tips-and-tricks/crypt/ hatte ich ein Passwort eingegeben und den resultierenden Hash als PASSWD='$1$kTUCPI9u$kzB2iNOXYpJSeTk8xWJ7t.' (Passwd=abc) eingetragen. Was mir komisch vorkommt, ist die Tatsache, daß *jeder* Hash mit der Zeichenfolge $1$ beginnt. Kann das so sein?
Was für ein Hash ist das, SHA-1? Wohl kaum und die anderen SHA-256 liefert längere Zeichenfolgen.


Das im Script angegebene $TEMP/busybox sed -e "/root:/s#^root:[^:]*:#root:$PASSWD:#" -i $TEMP/shadow liefert keinen Fehler, bei der /var/tmp/shadow ist aber alles gesperrt, ich kann sie nicht per cat ausgeben.

Kann man den dropbear u.o. sftp-server nicht dazu bringen, etwas gesprächiger zu sein und zu sagen, was nicht paßt?
(ja, meine Linux-Kenntnisse sind schon Jahre nicht gepflegt worden ....)
 
Zuletzt bearbeitet:
Abend

Ich seh du kommst der Sache schon näher, weiter so.

1. $TEMP/shadow ist falsch, /var/tmp/shadow ist richtig, gesucht wird /etc/shadow und das ist ein Link auf /var/tmp/shadow.
2. Wie der Hash aussieht soll mal egal sein, Hauptsache du vergisst das Reintextpasswort nicht.
3. Was machst du mit Filezilla? Zertifikat hört sich nach FTPS an, TLS Verschlüsselung, SFTP ist SFTP, mach dir das klar und SSH macht den Tunnel (Port 22)
4. Port 5060 ist der Port der für IP basiertes telefonieren üblich ist (SIP).
5. ftpuser interessiert dropbear eigentlich nich. Vermutlich hast du telnet benutzt., prüfe in putty die Einstellungen:
fb_dropbear.jpg

Bleib am Ball ;)
 
Zuletzt bearbeitet:
Hallo koyaanisqatsi,

(1) $TEMP ist per TEMP=/var/tmp gesetzt.
Ich verstehe Dein Punkt 1) nicht.

(2) Mir ist schon klar, daß das Passwort als gehashter Wert gespeichert wird un beim Logon das Klartext-PG gehast gegen den gespeicherten Wert verglichen wird.
Da der sftp-Login nicht geklappt hat, liegt die Vermutung nahe, der gespeicherte Hash-Wert könnte Schuld sein, zumal wie gesagt *alle* Hashwerte mit dem 1$1 anfangen.

(3) Filezilla kann per sftp://fritz.box eine sftp Verbindung aufbauen. Ich hab das bereits gegen einen PC mit freeSSHd getestet, dort kommen ähnliche Meldungen, daß das Server-Zertifikat nicht bekannt sei.
Als Schlüsselaushandlung wird dort DiffieHellmann benutzt.

Apropos: welchen User sollte man angeben? Passwort alleine reicht nicht? Etwa root? Das hab ich nicht probiert...
Das sed script ersetzt ja den root-hash mit dem selbst erzeugten und inserted das in die $TEMP/shadow.

Kann man aus den Programmen nicht mehr Debug-Ausgaben rausholen?


Was ich gerade sehe: im Beispielscript wird zuerst ein cd $TEMP gemacht, die Binaries liegen auch dort. Bei Starten sind dropbear / sftp-server ja auch im $TEMP. Findet der etwa diese $TEMP/shadow nicht?
Werd ich morgen mal testen.
 
Zuletzt bearbeitet:
Bei meinen früheren Logins via dropbear auf die Fritz!Boxen benutzte ich immer root als Benutzernamen.
Ich kenn es einfach nicht anders.
Deswegen machte man auch die "Installation" auf der Box mit telnet die nvi /var/flash/debug.cfg Geschichte immer als root.
Bis jetzt.
Natürlich kann ein unpriviligierter User wie ftpuser nicht die /etc/shadow lesen.
$TEMP/busybox sed -e "/root:/s#^root:[^:]*:#root:$PASSWD:#" -i $TEMP/shadow
^--> Hier wird das Passwort für root gesetzt!
 
Ok, danke. Wenn ich dazu komme, werde ich heute abend weiter experimentieren.

Nochwas: vor den Änderungen hatte ich auf der FBF ein Passwort gesetzt. Nach dem Ändern der ar7.cfg und flashen per cat ar7.cfg>/var/flash/ar7.cfg (glaube so war's) und anschließendem Neustart der Box verlangte die, daß man ein Passwort setzt.

Ist da was beim flashen schiefgegangen?

Mit dem sed stand ich schon immer auf Kriegsfuß. Bei dem Script wird die Ausgabe nach $TEMP/shadow eingefügt.

Du hast das Editieren der debug.cfg als root gemacht, wie wird man root?

(PS: Ich werd mir wohl mal eine virtuelle Maschine mit Linux aufsetzen, um da mal wieder mehr zu machen....)

Viele Grüße!!
 
Moin

Also, für die dropbear Geschichte braucht man die ar7.cfg erstmal nicht, teste und bekomme dropbear erstmal lokal zum laufen.
Und, na klar ist da was schiefgelaufen, die FritzBox resetet ihr Passwort doch nicht selber, fragt sich nur was, Semikolon vergessen?
Wie wird man root?

System --> Fritz!Box-Kennwort
Lass die Benutzerverwaltung dafür Links liegen und nimm erstmal nur: Anmeldung mit dem FRITZ!Box-Kennwort
Nach dem telnet Login bist du dann root (uid=0, gid=0).

Du kannst auch das Passwort für root selber erzeugen/setzen:

Standard ist passwd, welches das Passwort direkt in /etc/shadow (/var/tmp/shadow) eintragen tut.
(Für den Benutzer der es gerade ausführt)

Ansonsten gibt es noch:

mkpasswd dukommsthiernetrin
cQ9HY1/am/41g
...oder...
cryptpw dukommsthiernetrin
rnbNLkumBYm4Y
...und dann das Ergebnis in deine Passwortvariable kopieren: PASSWD='rnbNLkumBYm4Y'
 
Zuletzt bearbeitet:
Hi und Danke!

Ich werd die Box mal auf Werkseinstellung zurücksetzen und nochmal von vorne anfangen, wird aber wohl erst WochenEnde werden.

Ich halt Dich auf dem Laufenden ...


Danke nochmals!
 
Hey koyaanisqatsi !

Es geht!!!! Ich kriege eine SSH und sftp Verbindung :) :)

Also, in dem Script, das auf fritzmod angegeben wird, werden u.a. die Binaries nach /var/tmp kopiert, dann funktioniert es.
Wenn ich das nicht mache, also die Binaries vom USB Stick starte, klappt es nicht. Ich hab dann mal dem dropbear den Kommandozeilenparameter -E mitgegeben (Ausgaben auf Konsole) und siehe da: die Authentifizierung hat geklappt.

[935] Jan 01 01:10:49 Exit (root): Exited normally
[958] Jan 01 01:10:54 Child connection from 192.168.100.59:51756
[958] Jan 01 01:11:13 Password auth succeeded for 'root' from 192.168.100.59:517

Aber dennoch hat die Verbindung nicht geklappt. Durch Zufall hab ich dann per WinSCP eine Verbindung versucht und der hat mir folgenden PopUp gebracht:

Verbindungsfehler.jpg

Ich schätze, der Pfad in dem dropbear den sftp-server sucht nämlich /var/tmp ist in diesem dropbear fest eincompiliert (vielleicht kann mans auch irgendwo einstellen). Ich mach das jetzt so, dass ich den sftp-server kopiere, das andere Zeugs aber auf dem Stick lasse. Dieses WinSCP stammt übrigens aus der gleichen Software-Bude wie PuTTY, das sind beides ganz feine Teile.

Ich werd' vielleicht noch ein bisschen mit der private/public Key Authentifizierung rumspielen, ist mir aber nicht so wichtig, da ich sonst immer meinen private Key mit rumschleppen muß.
Was ich auf jeden Fall noch testen werde, ist das Port Forwarding/Tunneling, der dropbear sollte das auch machen. Dann könnte ich wohl auf mein komplettes Netzwerk zu Hause zugreifen. War zwar nicht mein Ziel, aber vielleicht kann man's ja mal brauchen.

Bei den ganzen Tests hat sich mal wieder rausgestellt, daß ich meine Linux-Kenntnisse wohl zu 90% vergessen habe - ich werde mir mal ne Ubuntu Virtuelle Maschine installieren, dass ich was zum Üben habe :)

Vielen Dank nochmals für Deine Unterstützung. Ohne die hätte ich die Flinte ins Korn geworfen!

Eines habe ich noch: wenn in der debug.cfg bereits Einträge sind, z.B. voM Telefonsparbuch, wo setzt man dann neue Einträge hin, ganz an den Anfang oder ganz ans Ende?

:p :p :p
 
Zuletzt bearbeitet:
Was mir komisch vorkommt, ist die Tatsache, daß *jeder* Hash mit der Zeichenfolge $1$ beginnt. Kann das so sein?
Was für ein Hash ist das, SHA-1? Wohl kaum und die anderen SHA-256 liefert längere Zeichenfolgen.

Das "$1$" ist das Zeichen dafür, dass es ein MD5 Hash ist. "$5$" ist sha-256 und "$6$" ist sha-512.
 
Hallo RalfFriedel,

Danke für den Hinweis!
 
Ich schätze, der Pfad in dem dropbear den sftp-server sucht nämlich /var/tmp ist in diesem dropbear fest eincompiliert (vielleicht kann mans auch irgendwo einstellen).
Ja, der ist beim Übersetzen fest eingebaut worden.
Seit einigen Wochen ist aber im freetz-trunk ein Patch für die Möglichkeit, mit der Opteion "-S" den Ort des Binaries anzugeben...
 
Hallo MaxMuster,

aha!

Nun, mit Freetz hätte ich mich gerne beschäftigt. So wie ich das blicke, muß man sich die Binaries selber basteln. Das hätte ich früher gemacht, aber heute fehlt mir leider die Zeit.....

BTW: welche Linux-Version würdet ihr mir empfehlen zum "rumspielen" ? Ich hab mir die Ubuntu installiert, aber das ist eine Version, die einem so ziemlich gängelt (nicht schlecht für Endanwender, aber nix für mich).
Eine Version, die direkt auf die Konsole bootet...

Schönes Wochenende an alle!
 
Moin

Ich empfehle dir zum rumspielen Virtualbox und das freetz Crosscompile Festplattenabbild mit Ubuntu 12.
Da ist nämlich keine X Umgebung dabei und du musst auf der Konsole klarkommen.
X lenkt nämlich nur ab, besonders wenn man dazu noch einen echten 3D-Desktopmanager benutzt.
 
Nun, mit Freetz hätte ich mich gerne beschäftigt. So wie ich das blicke, muß man sich die Binaries selber basteln. Das hätte ich früher gemacht, aber heute fehlt mir leider die Zeit.....

Die Binaries werden automatisch erstellt, man muss nur auswählen, was man haben will, make aufrufen, und warten, bis das Ergebnis fertig ist. Dafür passt nachher auch alles zusammen. Wahrscheinlich hättest Du weniger Zeit gebraucht, um Dropbear mit Hilfe von Freetz auf die Box zu bringen.
Wenn Du schon ein Linux System hast, kannst Du verwenden, wenn es aktuell genug ist und die notwendigen Pakete installiert sind. Wenn nicht, gibt es ein Image für eine virtuell Maschine, in dem schon alles vorbereitet ist.
 
Hallo und Danke nochmal!!!

Was mir gerade aufgefallen ist beim ändern meines dropbear scriptes:

Beim Erstellen des Hashes kriege ich jedesmal einen anderen Wert, obwohl das Passwort gleich ist ?????

Passwort 123 liefert z.B.
$1$cN3mhZAs$.J/4LPeqcCNFtmoBcvscr0
$1$.bO0oifi$rALU4KvBPw8GBZCGCxiFY0

Wie zum H*nker ist das möglich?
 
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.