Fritzbox + SSh + Putty

astaldo

Neuer User
Mitglied seit
6 Feb 2010
Beiträge
11
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen!

Vielen Dank erstmal für diese tolle Forum.
Seitdem ich meine Fritzbox habe (3270) bin ich ziemlich regelmäßig hier :p

(Anmerkung: ich mag keine automatisierten Skripte. Ich mag es, die Dinge, die ablaufen selbst zu verstehen und nicht nur einfach irgendein Skript auszuführen. Von daher habe ich auch alle Modifikation bisher manuell gemacht.)

Bisher habe ich also die debug.cfg soweit angepaßt, daß Telnet automatisch startet, und der SSH Server (dropbear) vom USB Stick in /var/tmp/dropbear geladen und gestartet wird.
Per NVI habe ich dann auch schon die ar7.cfg angepaßt und von außen auf den Port 22 zugreifen zu können. Das funktioniert auch alles Bestens.

Jetzt zu meinen Problemchen:

Erstens:
Die Authentifizierung läuft derzeit nur über ein Password (über /var/tmp/shadow) - das mag ich nicht.
Ich habe bereits ber puttygen einen RSA Schlüssel generiert und den entsprechenden Hash in die authorized_keys eingefügt.
Aber:wo muß die hin?
Im Benutzerverzeichnis gehts ja nicht, das ist ja readonly (/.ssh/authorized_keys).
Irgendwo hab ich gelesen (wahrscheinlich auch hier), daß man den Pfad (HomeDir von root)umbiegen kann, aber wie?
Und wie muß das mit den Zugriffsrechten sein?
Reicht dann ein chmod 700 -R .ssh/ ?

Zweitens:
Ich möchte gern auf das WebInterface meiner Fritzbox zugreifen.
Daher habe ich also in putty den Port 80 getunnelt. Das WebInterface bleibt allerdings leer (wird aber geladen!).
Aus dem, was ich bisher hier zusammengelesen habe wird deutlich, daß ich das anscheinend über eine zweite IP machen muß, die der FritzBox zugewiesen werden muß.
Wie kann ich das in der ar7.cfg machen?
(Ich möchte kein freetz mit VirtualIP installieren)
Unter Linux weiß ich, daß ich das mit einem weiteren Interface machen kann (eth0:1), ich möchte das aber nicht so einfach "ausprobieren".

Ich hoffe ihr könnt mir hier weiterhelfen.

Danke schonmal, daß ich überhaupt bis hierhin kam!
:)

UPDATE:
Punkt 2 kann gelöst werden, wenn man in der hosts Datei (c:\Windows\System32\drivers\etc\hosts) einen Eintrag hinzufügt, und zwar 'fritz.box 127.0.0.1'. Beim Aufruf von http://fritz.box:MEINPORT paßt dann der Referrer wieder.
 
Zuletzt bearbeitet:
Moin astaldo und Willkommen im Forum,

was dein 2. Problem angeht, scheint es doch grundsätzlich zu funktionieren wenn die Seite, wenn auch weiß, geladen wird.
Eventuell spielt dir der Referrer (dazu mal die Sufu befragen) einen Streich.
Meines Wissens nach funktioniert das Virtual-IP-Thema mit den neueren Boxen/Firmwares nicht mehr.
Grundsätzlich kann ich dir freetz aber nur wärmstens ans Herz legen. Damit sind die von dir angesprochenen Dinge wirklich problemlos möglich,.... und noch vieles mehr. :)
 
hallo

zu 2.:
eine freigabe aus sich selbst geht in ar7.cfg so (ports anpassen natürlich):
Code:
 tcp 0.0.0.0:80 0.0.0.0:80 0

wie schon colonia27 gesagt hat, funktioniert virtual ip nicht immer. ich würde davon abraten

gruß
 
@Colonia Danke, das war ja einfach!
Der Referrer war ja bei mir localhost.
Ich habs dann einfach so gemacht, daß ich in der hosts Datei fritz.box als 127.0.01 ausgewiesen hab - schon klappts :)

Danke schonmal. Fehlt noch Punkt 1

@radislav: ich will ja nicht den 80 Port nach außen freigeben, sondern tunneln. Und den Port für den Tunnel hab ich ja schon eingetragen
 
Zu Frage 1 - Pfad von authorized_keys

Lege ein root Directory an, kopiere die keys von $FILEPATH nach ~root/.ssh/ und setze die Zugriffsberechtigungen

Code:
mkdir -p /var/tmp/root/.ssh
chmod og-rwx /var/tmp/root
chmod og-rwx /var/tmp/root/.ssh
cp ${[COLOR="Red"]FILEPATH[/COLOR]}/authorized_keys /var/tmp/root/.ssh
chmod og-rwx /var/tmp/root/.ssh/aut*


Setze das Passwort für root (sollte in folgendem script in der Variable $PASSWD stehen) und verbiege das Userdirectory von root auf /var/tmp/root/

Code:
# change root password
${[COLOR="Red"]BUSYBOX[/COLOR]} sed -e "/root:/s#^root:[^:]*:#root:${[COLOR="Red"]PASSWD[/COLOR]}:#" -i /var/tmp/shadow
# change root home directory
${[COLOR="Red"]BUSYBOX[/COLOR]} sed -e "/root:/s#:/:/bin/sh#:/var/tmp/root/:/bin/sh#" -i /var/tmp/passwd

Nun kann dropbear gestartet werden

Code:
# start dropbear
"$DROPBEAR" -s -p ${[COLOR="Red"]dropbearport[/COLOR]} -r ${[COLOR="Red"]FILEPATH[/COLOR]}/dropbear_rsa_host_key" -d "${[COLOR="Red"]FILEPATH[/COLOR]}/dropbear_dss_host_key"

Achtung : In allen Scripten werden Variablen verwendet, die vorher richtig gesetzt werden müssen! Z.B. FILEPATH auf den USB Stick, wo die authorized_keys liegen
 
... ich will ja nicht den 80 Port nach außen freigeben, sondern tunneln ...
ich habe dich wohl missverstanden. trotzdem verstehe ich nicht ganz, was du wohin tunneln willst. wenn du über ssh deine web-gui tunneln willst, dann musst du es trotzdem nach außen freigeben :)confused: bin mir nicht ganz sicher deswegen). ssh-tunnel sorgt "nur" für eine sichere verbindung.

gruß
 
@hdhuber
Nachdem ich grad die Änderungen vorgenommen habe (bis auf die chmod), und ich dummerweise die SSH Verbindung geschlossen habe, komme ich nicht mehr rein.
Bin grad auf der Arbeit, da muß ich nachher nochmal den Rest fertigmachen:)
Sieht aber schonmal klasse aus, danke

@radislav
Also ich mache von der Arbeit einen SSH Tunnel zur Fritzbox auf. Dieser SSH Port ist der einzige Port, der nach außen offen ist.
In putty kann ich nun sagen, daß ich den lokalen Port 1234 auf den Port 80 meiner Fritzbox tunneln möchte. Wenn ich nun auf localhost:1234 zugreife greife ich damit auf den Port 80 meiner Fritzbox zu, wobei der Datenstrom durchden SSH Tunnel läuft.
Durch den SSH Tunnel kann ich auf alle Ports des lokalen Netzes zugreifen, und für das LAN ist der Port 80 ja sowieso schon offen.
 
[Edit frank_m24: Mehrere Beiträge zusammengefasst. Man kann seine Beiträge auch editieren.]
@@hdhuber
Ich hab jetzt alles so gemacht, klappt aber immer noch nicht.
->'Server refused our key'

Ich hab jetzt also ein Verzeichnis /var/tmp/root/.ssh.
Da habe ich also eine Textdatei drin, mit dem Text aus dem PuttyGen des Keys (ppk), den ich für die Anmeldung nutzen möchte.
Berechtigungen habe ich per chmod -R og-rwx /var/tmp/root gesetzt, sieht auch gut aus.
Logge ich mich mit putty ein (per Passwort) steht ich auch sofort in /var/tmp/root, das HomeDir ist also korrekt.
das dropbear aus einem anderen Verzeichnis geladen wird, ist aber kein Problem oder (/var/tmp/dropbear)?

Vielleicht hab ich auch noch ein kleines Verständnisproblem:
Ich habe laut einer Anleitung einen dss hostkey und einen rsa hostkey erzeugt (einmalig).
Wofür der DSS Key ist weiß ich (Host Authentifizierung), aber worfür brauche ich den RSA Key? Das ist ja nicht der, den ich auf der Client Seite habe.
Nicht das ich da etwas vertausche...

Hat sonst noch jemand einen Tipp, was ich nachschauen könnte?

Danke

[Beitrag 2:]
Da hat sich beim Editieren mit NVI ein klitzekleiner Fehler in der authorized_keys Datei eingeschlichen.
Jetzt klappt alles wunderbar !

Vielen Dank nochmal!
 
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.