Hallo. Ich möchte PC1 mit PC2 über das Internet verbinden. Dazu möchte ich einen dritten PC als "Vermittlungspartner" benutzen. Leider finde ich keine Lösung wie ich das genau anstellen kann? Ich kann mit beiden PCs eine SSH-Verbindung zum Vermittlungspartner aufbauen, aber wie kann ich dann von PC1 auf PC2 zugreifen? Ich muss irgendwie die Gibt es für solche Verbindungen einen Fachausdruck? Ich kenne Hole-Punching, aber das funktioniert anders. lg
SSH-User schrieb: > Hallo. > > Ich möchte PC1 mit PC2 über das Internet verbinden. > Dazu möchte ich einen dritten PC als "Vermittlungspartner" benutzen. > Leider finde ich keine Lösung wie ich das genau anstellen kann? > > Ich kann mit beiden PCs eine SSH-Verbindung zum Vermittlungspartner > aufbauen, aber wie kann ich dann von PC1 auf PC2 zugreifen? Ich muss > irgendwie die > > Gibt es für solche Verbindungen einen Fachausdruck? > Ich kenne Hole-Punching, aber das funktioniert anders. > > lg So ein umständliches Konstrukt wird nur gebraucht wenn sich beide PCs hinter einer (NAT/Masquerading) 'Firewall' verbergen. Gibt's einen besonderen Grund warum nicht einfach eine Portweiterleitung genutzt wird?
Schau Dir mal socat an, damit sollte es gehen. Du brauchst ein socat mit doppeltem tcp-listen auf dem vermittlungspartner und eines mit doppeltem tcp auf dem zielrechner.
Norbert schrieb: > So ein umständliches Konstrukt wird nur gebraucht wenn sich beide PCs > hinter einer (NAT/Masquerading) 'Firewall' verbergen. > > Gibt's einen besonderen Grund warum nicht einfach eine Portweiterleitung > genutzt wird? Ich bin zwar nicht der TO, aber ein gängiger Grund für sowas ist wenn beide Seiten Mobilfunkanschlüsse sind und man damit keine Kontrolle über das Portforwarding bzw. Firewalling des Netzbetreibers hat.
Mit SSH Portforwarding geht es. Dann musst du jeweils eine Verbindung von PC1 und Vermittlungsrechner und von PC2 zum Vermitlungsrechner aufbauen. Dann eine 3. Verbindung für die Weitergleiteten Ports aufbauen. Man missbraucht dann also die ersten 2 Verbindungen als VPN. Sinnvoller ist es gleich eine VPN z.b. mit OpenVPN aufzubauen.
Gerd E. schrieb: > Norbert schrieb: >> So ein umständliches Konstrukt wird nur gebraucht wenn sich beide PCs >> hinter einer (NAT/Masquerading) 'Firewall' verbergen. >> >> Gibt's einen besonderen Grund warum nicht einfach eine Portweiterleitung >> genutzt wird? > > Ich bin zwar nicht der TO, aber ein gängiger Grund für sowas ist wenn > beide Seiten Mobilfunkanschlüsse sind und man damit keine Kontrolle über > das Portforwarding bzw. Firewalling des Netzbetreibers hat. ;-) Ist das die euphemistische Formulierung für: Wenn man von seinem Provider einen verkrüppelten Anschluss bekommt? Oder die Formulierung für: Wenn der Provider nicht in der Lage ist IPv6 zur Verfügung zu stellen? Oder die Formulierung für: ... Again,... ;-)
Norbert schrieb: > Ist das die euphemistische Formulierung für: > Wenn man von seinem Provider einen verkrüppelten Anschluss bekommt? > > Oder die Formulierung für: > Wenn der Provider nicht in der Lage ist IPv6 zur Verfügung zu stellen? Bei was für nem UMTS-Provider in D bekommst Du denn IPv6 oder IPv4 mit ner eigenen IP ohne Firewalling für alle eingehenden Verbindungen? Bei T-Mobile kann man zwar nen speziellen APN verwenden um ne eigene IP (v4) zu bekommen, aber die Firewall von T-Mobile sperrt alle eingenden Verbindungsversuche darauf. Vielleicht gibt es auch spezielle Business-Verträge die eingehende Verbindungen erlauben, aber vermutlich zahlt man sich da dumm und dusselig bei und behilft sich statt dessen lieber mit Lösungen wie den oben vorgeschlagenen. Ne andere Variante wären übrigens auch VPN-Provider. Du wählst Dich vom verkrüppelten Anschluss aus per PPTP, L2TP oder IPSec bei dem VPN-Provider ein und bekommst dann ne vollwertig nutzbare IP von dem. Es gibt einige Anbieter die sowas für so 5 EUR/Monat rum anbieten.
SSH-User schrieb: > Hallo. > > Ich möchte PC1 mit PC2 über das Internet verbinden. > Dazu möchte ich einen dritten PC als "Vermittlungspartner" benutzen. > Leider finde ich keine Lösung wie ich das genau anstellen kann? > > Ich kann mit beiden PCs eine SSH-Verbindung zum Vermittlungspartner > aufbauen, aber wie kann ich dann von PC1 auf PC2 zugreifen? Ich muss > irgendwie die > > Gibt es für solche Verbindungen einen Fachausdruck? > Ich kenne Hole-Punching, aber das funktioniert anders. > > lg Ich tippe drauf das du Port Forwarding via SSH meinst. Damit kann man sich z.B. mit verschiedenen PCs hinter einer Firewall verbinden. Auch kann man damit sich einen relative einfachen SOCKS Proxy aufbauen und restriktive Firewalls zu umgehen
Hallo nochmal Ich schreibe zur Zeit meine Bakk-Arbeit über "Fernwartung und Fern-Updates für embedded Systems unter Linux" und möchte ein paar Szenarien + Lösungsansätze für die Verbindung von Service-PC und Gerät einbinden. Der Grund warum ich es so "kompliziert" machen möchte ist, weil ich davon ausgehe dass beide PCs hinter einem nicht konfigurierbaren Router (kein Portforwarding oder so) oder einer Firewall stehen. Grundsätzlich basieren alle anderen Szenarien auf einer SSH-Verbindung (einfacher SSH-Tunnel oder Reverse-SSH) bzw. andere Protokolle die über SSH getunnelt werden. Sorry dass ich das nicht vorher so detailiert geschrieben habe, aber ich dachte mir, dass dieses Vorhaben eine gängige Methode ist zwei "abgeschirmte" PCs zu verbinden. Teamviewer oder Skype machen das ja auch so ähnlich. Die nutzen halt UDP-Hole-Punching was für SSH leider nicht ohne weiteres realisierbar ist. lg
Jetzt hab ich es endlich geschafft! Die Lösung ist eingentlich nicht so schwierig: Aufbauen der Tunnel: PC1:> ssh -N -R 2048:localhost:22 user@vermittler PC2:> ssh -N -L 1234:localhost:2048 user@vermittler PC1 >>>Tunnel>>> [ Vermittler ] <<<Tunnel<<< PC2 Jetzt am PC2 den Tunneleingang 1234 für die eigentliche SSH-Verbindung benutzen. PC2:> ssh -p 1234 UserAufPC1@localhost Trotzdem DANKE für die Antworten!
SSH-User schrieb: > Jetzt hab ich es endlich geschafft! > Die Lösung ist eingentlich nicht so schwierig: > > Aufbauen der Tunnel: > PC1:> ssh -N -R 2048:localhost:22 user@vermittler > PC2:> ssh -N -L 1234:localhost:2048 user@vermittler > > PC1 >>>Tunnel>>> [ Vermittler ] <<<Tunnel<<< PC2 > > Jetzt am PC2 den Tunneleingang 1234 für die eigentliche SSH-Verbindung > benutzen. > > PC2:> ssh -p 1234 UserAufPC1@localhost > > > Trotzdem DANKE für die Antworten! Das ist kein Vermittler (für den Verbindungsaufbau) sondern ein Relais (für die komplette Übertragung)! Außerdem sind es zwei SSH Verbindungen die jeweils auf dem RelaisPC terminieren und dort entschlüsselt und wieder verschlüsselt werden. Man muß dem Ding also komplett während der gesamten Übertragung vertrauen.
Norbert schrieb: > Man muß dem Ding also komplett während der gesamten Übertragung > vertrauen. nein, die 3.SSH Verbindung wird auf dem Vermittlungsrechner nicht entschlüsselt, er kann sie also nicht mitlesen.
Ich habe mich unklar ausgedrückt. Man muß darauf vertrauen, das der RelaisPC die komplette Zeit die Verbindungen aufrecht erhält und nicht nur während des Vermittlungsaufbaus wie bei (oben genannt) zB Skype
Ich weiß, dass Skype und TeamViewer das anders machen. Die benutzen den "Vermittler" nur um gegenseitig Infos auszutauschen um dann ohne direkter verwendung des Vermittlers eine Verbindung aufzubauen (oder so ähnlich). Das geht aber nur weil eben Hole-Punching eingesetzt wird. In meinem Fall ist Vermittler wsl. das falsche Wort. Nennt man das Relais oder Repeater? Ich weiß es (noch) nicht. Die Verbindung zwischen Server und Client ist aber verschlüsselt und wird meines Wissens nicht am "Vermittler" entschlüsselt. Wenn der "Vermittler" aber ein vertrauenswürdiger Server ist, wäre auch das kein Problem, oder? Norbert schrieb: > Ich habe mich unklar ausgedrückt. > Man muß darauf vertrauen, das der RelaisPC die komplette Zeit die > Verbindungen aufrecht erhält und nicht nur während des > Vermittlungsaufbaus wie bei (oben genannt) zB Skype Davon gehe ich aus, ja. lg
SSH-User schrieb: > Ich weiß, dass Skype und TeamViewer das anders machen. > Die benutzen den "Vermittler" nur um gegenseitig Infos auszutauschen um > dann ohne direkter verwendung des Vermittlers eine Verbindung aufzubauen > (oder so ähnlich). Das geht aber nur weil eben Hole-Punching eingesetzt > wird. TeamViewer leitet meines wissens alles über ihre Server. Das ist viel einfacher zu programieren und funktioniert sauber.
Peter II schrieb: > SSH-User schrieb: >> Ich weiß, dass Skype und TeamViewer das anders machen. >> Die benutzen den "Vermittler" nur um gegenseitig Infos auszutauschen um >> dann ohne direkter verwendung des Vermittlers eine Verbindung aufzubauen >> (oder so ähnlich). Das geht aber nur weil eben Hole-Punching eingesetzt >> wird. > > TeamViewer leitet meines wissens alles über ihre Server. Das ist viel > einfacher zu programieren und funktioniert sauber. Nur zur Info: In folgendem Dokument steht, dass zu 70% die Verbindungen direkt gehandhabt werden. Der Rest läuft über deren Server. http://www.teamviewer.com/images/pdf/TeamViewer_Sicherheitsstatement.pdf
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.