ssh über Router & Firewall |
||
---|---|---|
#0
| ||
06.02.2004, 15:13
Member
Beiträge: 15 |
||
|
||
06.02.2004, 15:23
Member
Beiträge: 5291 |
#2
Also generell geht das alles nicht - du hast ja kein Zugriff auf die Router oder Gateways oder wie auch immer das Schulnetz konzipiert ist. Wenn du von außen eine Verbindung aufbauene wolltest müßtest du ja irgendwo den port tcp/22 (ssh) ja zu deinem Rechner per NAT weiterleiten. Ist natürlich unmöglich. Auch über http-tunneling seh ich da keine möglichkeit auch hier gilt wieder das selbe wie oben - alle Pakete müssen ja im endeffekt zu dir geforwardet werden und das läßt sich nur über die entsprechende Instanz klären. Was auch immer sei es nun Router Gateway oder sonst was. Die Grund voraussetzungen sind einmal das dass erste Paket einer Verbindung (das mit der SYN flag) über NAT zu deiner internalen IP befördert wird, und der rest der Pakete muss geforwardet werden. All dies muss aber wie gesagt auf einem Router - wahrscheinlich die Maschine die am inet anschluss hängt bewerkstelligt werden. (hört sich ja ganz nach einem Internat an oder so was ähnlichem)
__________ E-Mail: therion at ninth-art dot de IRC: megatherion @ Freenode |
|
|
||
06.02.2004, 18:04
Member
Themenstarter Beiträge: 15 |
#3
Internat trifft' s vollkommen.
Im Internet steht überall das die -R Funktion bei ssh zum tunneling hinter eine Firewall ist. Wie funktioniert das im Deteil?? Weil wenn der 22er Port geforwardet sein muss, kann man ja gleich einen Tunnel mit -L bauen. Ich tscheck den sinn drin nich, kannst du mir das mal erläutern?? |
|
|
||
06.02.2004, 19:56
Member
Beiträge: 907 |
#4
eine möglichkeit ist, einen tunnel von innen zu initiieren: sprich vom internat aus zu dir nach hause (vorausgesetzt ssh geht nach außen):
user@internet: ssh -l user remote.maschine -R 12000:localhost:22 das setzt voraus, - dass dein rechner zu haus remote.maschine heißt (oder halt ip einsetzen) - auf dem schulrechner im internat auch ein ssh server läuft - du entsprechend den passwortmechanismen die verbindung aufbaust (passwortabfrage, pubkey-auth, ...) - du die verbindung dann von außen folgendermaßen initiierst user@remote.maschine: ssh -l user-des-internatrechners localhost -p 12000 so mach ich des und des funzt greez Dieser Beitrag wurde am 06.02.2004 um 19:57 Uhr von Emba editiert.
|
|
|
||
06.02.2004, 21:18
Member
Themenstarter Beiträge: 15 |
#5
Damit meinst du dass ich zuerst von meinem Internatsrechner aus zu meinem ZuHausePc einen Tunnel baue, und diesen Tunnel dann zum verbindungsaufbau hinter die Firewall verwende.
Wäre ja eine gute idee, wenn da nicht die dynamische ip meines ZuHauseRouters wäre, der nach einigen Stunden eine neue ip bekommt. Aber dieses problem lässt sich wahrscheinlich mit DynDNS beheben. _____________________________________________________________________ Nur so nebenbei: Liese sich der obige Tunnel auch mit -L 22:PCzuHause:12000 realisieren?? _____________________________________________________________________ Besteht die möglichkeit, einen port auf xxx.xxx.xxx.255, also auf das gesamte Netzwerk freizugeben, und ist durch diesen port ein Verbindungsaufbau nach innen möglich?? (nicht gewollte PCs scheiden durch nicht antworten bzw durch falsche user/passw. aus) Dieser Beitrag wurde am 06.02.2004 um 21:21 Uhr von rogi1 editiert.
|
|
|
||
07.02.2004, 02:17
Member
Beiträge: 907 |
#6
Zitat Damit meinst du dass ich zuerst von meinem Internatsrechner aus zu meinem ZuHausePc einen Tunnel baue, und diesen Tunnel dann zum verbindungsaufbau hinter die Firewall verwende.ja Zitat Wäre ja eine gute idee, wenn da nicht die dynamische ip meines ZuHauseRouters wäre, der nach einigen Stunden eine neue ip bekommt.ja, nur weiß ich nicht wie sich der tunnel verhält, wenn die verbindung abbricht - damit ändert sich nämlich die host verification und ssh "traut" dem neuen gegenüber nicht (automatisch) - es sei denn eine option setzt dies außer kraft - probieren Zitat Nur so nebenbei: Liese sich der obige Tunnel auch mitnein, denn das ist lokales portforwarding Zitat Besteht die möglichkeit, einen port auf xxx.xxx.xxx.255, also auf das gesamte Netzwerk freizugeben, und ist durch diesen port ein Verbindungsaufbau nach innen möglich??einen port kannst du für alles freigeben - das, was du meinst, ist, die verbindung, die du einmalig herstellst zu einem host, für alle freigeben das geht nur insofern, dass alle anderen user, die sich auf die maschine im intranet einloggen sollen, zunächst über deinen rechner zu hause connecten und dann den bestehenden tunnel nutzen ansonsten wird ein tunnel immer von client->server (bzw. v.v) aufgebaut - sprich punkt-zu-punkt greez |
|
|
||
07.02.2004, 08:00
Member
Themenstarter Beiträge: 15 |
#7
Das ist mir klar, was ich mit der letzten Frage gemeint hab ist, Wie machen es Netzwerkadminitrator, wenn sie für mehrere hundert ip's ports forwarden müssen. Dies ist natürlich mit geringem aufwand nicht möglich, aber mit so einem "broadcast" port schon!!
Oder?? _____________________________________________________ Schreib mir bitte mal den Unterschied zwichen -L und -R Ist ja eigentlich das selbe, außer das einmal pc1 die verbindung aufbaut und das andermal pc2, oder gibts da nen unterschied mit den ports?? _____________________________________________________ Aus was setzt sich die host verification von ssh zusammen?? Dieser Beitrag wurde am 07.02.2004 um 08:15 Uhr von rogi1 editiert.
|
|
|
||
07.02.2004, 12:58
Member
Beiträge: 5291 |
#8
@rogi1
Da macht man nix mit broadcast - sowas geht mit localnet zb. 192.168.1.0 damit gibst du das ganze 192.168.1.* netz frei - und so weiter. Ich glaub nicht das der netfilter eine Broadcast addresse akzeptiert. Wofür auch. Broadcast geht ja an jedem client in einem bestimmten Netz. __________ E-Mail: therion at ninth-art dot de IRC: megatherion @ Freenode |
|
|
||
07.02.2004, 14:09
Member
Beiträge: 907 |
#9
@rogi
die unterschiede zw. -L und -R findest du mittels google oder in der manpage genau so wie die host verification nur soviel zu -L und -R: bei -R nutzt du einen remote erzeugten tunnel, um von da aus durch diesen nun lokalen tunnel die verb. quasi reverse wieder aufzubauen greez |
|
|
||
07.02.2004, 14:55
Member
Themenstarter Beiträge: 15 |
#10
sorry dass ich so blöd frage, habs nochmal ausprobiert. Der Tunnel MUSS wohl vom Client zum Server gebaut werden. Wenn du aber bereits am Server sitzt, musst du -R verwenden, damit die richtung des Tunnels wieder Stimmt.
Sorry, diese Frage wäre unnötig gewesen, hab auch davor schon in google und man nachgeschaut, hab aber den sinn nicht kapiert. Werd mich über dieses thema noch bei meinen Lehrern nach den Fehrien informieren.(sofern es dort so schlaue Köpfe gibt) Ich schreib euch dann ob es/wie es funktioniert. Dieser Beitrag wurde am 07.02.2004 um 15:23 Uhr von rogi1 editiert.
|
|
|
||
08.02.2004, 20:33
Member
Beiträge: 907 |
#11
@rogi1
mh, so richtig steig ich hinter deine logik nicht schau mal hier [1] unter dem punkt "Hintertür ins interne Netz" - vllt. wird dann einiges klarer? greez [1] http://www.linux-magazin.de/Artikel/ausgabe/2002/07/ssh2/ssh2.html |
|
|
||
09.02.2004, 22:49
Member
Themenstarter Beiträge: 15 |
#12
Danke alles klar. Ist aber trotzdem eine Super Page
Bin grad im Internat und hab die verbindung getscheckt.Kann mit ssh -g IPZUHAUSE keine verbindung aufbauen(ausgabe: "no route to host") Von innen kann ich aber einen Tunnel bauen. Scheint alles ok. Doch wenn ich durch den Tunnel mit ssh localhostort ansprechen will kommt: "ssh_exchange_identification: Connection closed by remote host" weiß aber nicht ob man einen Tunnel bauen kann UND gleichzeitig eine ssh-remote verbindung. mit telnet hats aber funktioniert. Ist es eigentlich egal ob man auf beiden pc sshd laufen hat oder kan das probleme bringen?? den tunnel mit -R von außen aufzubauen hat auch nicht gefunkt(ich glaub ich habs falsch eingetippt. muss ich nochmal nachschlagen) |
|
|
||
09.02.2004, 23:02
Member
Beiträge: 907 |
#13
Zitat Ist es eigentlich egal ob man auf beiden pc sshd laufen hat oder kan das probleme bringen??muss beim "-R - Tunneln" sogar so sein, denn du musst dich jeweils mit einem ssh server verbinden hier mal ne step-by-step-anleitung für dich: folgender netzaufbau wird angenommen: Rechner zu hause -> Internet -> Firewall Internat -> Internat-Client (Rechner1) des weiteren erforderlich: * ssh vom internat nach außen ins internet möglich (ansonsten ggf. mit ports wie port 80 versuchen, klappt meist - ist ein proxy dazwischen, dann kann es nicht gehen, da er meist nur http/ftp nach außen durchlässt - dann kannst du hier schon aufhören mit lesen) - also prüfen, ob du ssh nach hause machen kannst aus dem internat * auf den internatsrechnern laufen jeweils sshd auf port 22 (ansonsten anpassen in der anleitung unten) [...] - statements sind optional 1) ssh -l username-rechner-zu-hause [-p port] rechner.zu.hause.de -R 20000:localhost:22 (oder entsprechende WAN-IP einsetzen) jetzt steht schon der remote tunnel, wenn du alles richtig konfiguriert hast jetzt zu hause am pc: 2) ssh -l username-rechner1-internat -p 20000 localhost du solltest eine passwortabfrage sehen so mach ich das schon eine ganze weile und funzt - ist natürlich kein NAT-Proxy zwischen Zitat ssh -g IPZUHAUSE keine verbindung aufbauen(ausgabe: "no route to host")wieso -g ? du brauchst remote hosts dies nicht erlauben, da rechner1 aus dem internat hier nicht als remote host gilt no route to host ist schon eine fehlermeldung, die sagt, dass entweder die IP kein ziel (derzeit) darstellt oder dein interface/gateway falsch eingerichtet ist Zitat den tunnel mit -R von außen aufzubauen hat auch nicht gefunktwird es auch nicht, denn von außen wird das internat wohl kaum ssh erlauben - okay, man kann nie wissen greez |
|
|
||
10.02.2004, 18:29
Member
Themenstarter Beiträge: 15 |
#14
Wird da der gateway aus der netzwerkkonfiguration verwendet oder muss diser händisch eingestellt werden (zb ssh config file)??
Kann Tunnel mit -L nach Hause öffnen, proxy scheint also keine probleme zu machen, oder verhält sich das mit -R anders?? was meinst du beim Tunnel öffnen mit:" (oder entsprechende WAN-IP einsetzen)" |
|
|
||
10.02.2004, 19:24
Member
Beiträge: 907 |
#15
es wird das default gw genommen, was deiner netzwerkschnittstelle zugewiesen wurde - nix mit ssh*.conf
nein, mit -R sollte sich das nicht anders verhalten mit WAN-IP meine ich, wenn du kein dyndns verwendest, musst du einfach die externe IP deines ssh-servers zu hause nehmen - mehr net warte auf erfolgsmeldungen greez |
|
|
||
Beschäftige mich seit einiger Zeit mit ssh und sonstigem, um in Zukunft auf meinen Computer der sich in einem fremden unbekannten Netzwerk befindet(riesiges Schulnetz), von dem ich keine Rechte besitze, und auch nicht weis Welche ports wie und wohin freigeschalten sind. Dieses Netz ist filleicht mit Routern weiter unterteilt.
Ziemlich sicher ist auch eine Firewall zu Überwinden.:-)
Meine Fragen:
Kann ich Auf meinen PC hinter der Firewall eine Verbindung aufbauen, auch wenn keine Ports geöffnet sind?? Zb mit ssh -R
wenn nicht, welche ports sich dazu notwendig(wahrscheinlich 22)
Muss der port auf meinen pc Weitergeleitet sein??
Könnten die Router hinter der Firewall ein Problem darstellen??
Habe auch gelesen, das dies auch mit http-Tunneling moglich sei. Aber kann ich von außen mit http überhaupt packete nach innen schicken??
Was sind die Grundforaussetzungen, damit eine Verbindung überhaupt möglich ist
Bin Für jede Antwort Dankbar