ubuntuusers.de

ssh hinter Router

Status: Gelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17621

Wohnort: Berlin

Meiner Schwester half ich bei PC-Problemen oft, in dem Sie einen ssh-Server startete, und ich mich dann einloggte.

Jetzt hat sie ein Zweitgerät und einen Router, und per Telefon konnte sie mir nur die wenig erquickliche IP 192.168.123.5 oder so ähnlich mitteilen. Keine der üblichen 88.87.....-er Nummern (arcor).

Jetzt leite ich sie mit dem Browser auf 192.168.123.1, weil sich der Router meist die ...1 schnappt, und hoffe, daß der Router da ein Webinterface zeigt, auf dem sie irgendwo "Portforwarding" findet?
Bzw. lasse mir raussuchen wie das Gerät genau heißt, und suche im Netz nach einer Anleitung für Portforwarding?

Hat das jeder Router, oder gibt es welche, die das nicht können?

Ultra

Avatar von Ultra

Anmeldungsdatum:
25. April 2007

Beiträge: Zähle...

Wohnort: Dresden

Meines Erachtens sollte das jeder neuere Router können.

Richte deine Port-Forwardings möglichst so ein, dass du von draußen mit utopischer Port-Nummer rein muss. So ist die Chance, dass jmd. anders mit böswilliger Absicht den Port entdeckt und ausnutzt geringer (Also nicht Standart auf 22 lassen, sondern zb. 52500 oder so wählen)

Gruß.

uname

Anmeldungsdatum:
28. März 2007

Beiträge: 6030

Wohnort: 127.0.0.1

Die meisten Router sollten diese Möglichkeit haben. Aber ein Profi benötigt sowas natürlich nicht.

Sollte dein Rechner per SSH erreichbar sein, so kannst du (bzw. eigentlich sie) Remote-SSH-Port-Forwarding nutzen.

Sie meldet sich bei Dir wie folgt an (Annahme SSH-Port ist 22):

ssh -N -R 2222:localhost:22 user@deinrechner-im-internet-erreichbar

bei "-N" darf die Shell /bin/false sein (falls du ihr nicht traust 😉 )

Nun kannst du von dem System aus wiederum per:

ssh user@localhost -p 2222   (user ist der user auf ihrem Rechner)

durch den Tunnel auf ihren Rechner zugreifen.

user_unknown

(Themenstarter)
Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17621

Wohnort: Berlin

@uname:

Also sie heißt Alice, ich Bob. Ihr Rechner heißt tgx, meiner asux. Ihre Provider-IP sei 88.77.6.5, meine 88.77.4.3

Sie baut einen Tunnel auf(?):

1
ssh -N -R 2222:localhost:22 alice@88.77.4.3 

Sie braucht also dafür einen Account alice (aber, wenn sie -N nutzt, kein Home, keine Shell usw.)

und ich melde mich an mit:

1
ssh alice@localhost -p 2222 

(Ja, ich nutze dazu ihren Account. Ja - es gab schon bessere Ideen).

@ultra: Ich halte sehr wenig davon mit einem Zettel herumzulaufen, auf dem der Port für Rechner x, y, und z steht, mit k Zetteln für k Services. Ich vertrete die Auffassung die Instrumente zu nutzen, die für eine Aufgabe gedacht sind, und als Instrument zur Sicherung scheint mir das Passwort geeignet. Ein gutes Paßwort bringt mehr als Portkarneval - zumal wir die Services nur punktuell starten.

uname

Anmeldungsdatum:
28. März 2007

Beiträge: 6030

Wohnort: 127.0.0.1

(Ja, ich nutze dazu ihren Account. Ja - es gab schon bessere Ideen).

Du nutzt nicht ihren Account. Sie hat einen Account bei Dir (/bin/false) und der Remote-Tunnel ermöglicht dir nur per SSH auf ihren Rechner zuzugreifen. Du brauchst natürlich auf ihrem Rechner weiterhin ein Benutzer/Passwort. Zur Administration musst du zudem in der sudo-Gruppe "admin" sein.

Der Unterschied ist nur, dass ihr SSH-Server nur von Localhost erreichbar sein muss, da du ja den SSH-Remote-Tunnel nutzt. Somit umgehst du nur das Router-Problem, mehr nicht.

user_unknown

(Themenstarter)
Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17621

Wohnort: Berlin

und das:

ssh -N -R 2222:localhost:22 alice@88.77.4.3 

benötigt kein sudo?

Ich lese mal, was ich zu verstehen meine: mit ssh -N (no commando) und mit -R (remote) legt Alice vom zu steuernden Client ein Rohr an, daß am Ziel den Eingangsport 2222 hat, aber hinten, bei der Quelle, also Alice an Port 22 angeschlossen wird, wo der SSH auf lokale Verbindungen lauscht.

Dann kommt der Benutzername Alice' auf meinem Rechner mit dessen IP, die vom Netz sichtbar ist.

Mit

1
ssh alice@localhost -p 2222 

verbinde ich mich dann auf meinem Rechner (localhost) als irgendwas (was es gibt - deswegen in meinem Fall 'alice') auf Port 2222, und das ist aber die Weiterleitung zu Alice's Restaurant - äh - Rechner.

Jup. Lokaler Test hat geklappt. Jeder benötigt einen Login (user/passwort) auf der anderen Seite. Ich bin vorbereitet - sie kann kommen.

uname

Anmeldungsdatum:
28. März 2007

Beiträge: 6030

Wohnort: 127.0.0.1

Meiner Schwester half ich bei PC-Problemen oft, in dem Sie einen ssh-Server startete, und ich mich dann einloggte.

Jup. Lokaler Test hat geklappt. Jeder benötigt einen Login (user/passwort) auf der anderen Seite. Ich bin vorbereitet - sie kann kommen.

Wie du selbst schreibst benötigst du einen Benutzer auf ihrem Rechner ja sowieso.

Aber ich habe mir die ganze Geschichte noch mal gestern abschließend überlegt wie sie zu realisieren wäre wenn du z.B. auf auf dem System von Bob keine zusätzlichen Benutzer einrichtet werden können (z.B. bei einem Account auf einem vServer von einem Bekannten, der Bob keinen zweiten Account spendieren will oder kann).

Auf dem Rechner von Alice könnte man SSH-Keys generieren (ssh-keygen -t rsa) und dann würde man diesen pub.-SSH-Key bei Bob in ~/.ssh/authorized_keys wie folgt zulassen:

~/.ssh/authorized_keys (Auszug):

command="/usr/bin/sleep 10000" ssh-rsa  ....

Verbindet sich nun Alice per:

ssh -R 2222:localhost:22 bob@88.77.4.3  (Option -N nicht mehr nötig)

so kann Alice, da sie ja das Passwort von Bob nicht kennt, maximal den erlaubten SSH-Key nutzen. Dieser ist jedoch mit der Anwendung "/usr/bin/sleep 10000" verbunden. Somit bleibt der Tunnel für Bob 10000 Sekunden offen bzw. bis Alice die Verbindung trennt. Wichtig ist in diesem Zusammenhang dass auch sftp für Alice nicht funktioniert. Nachteil ist, dass Bob den sleep-Befehl auf seinen Rechner abschließend evtl. noch killen muss.

Alice benötigt auf dem System von Bob im übrigen deswegen keine sudo-Berechtigung, da der Tunnel mit dem Port "2222" und somit > 1023 verknüpft ist. Alice braucht im übrigen nicht mal sudo-Berechtigung auf ihrem eigenen Rechner.

user_unknown

(Themenstarter)
Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17621

Wohnort: Berlin

Danke, uname sehr informativ. Für mich insbesondere der letzte Teil zu sudo.

Antworten |