ssh tunnel und vnc

 

Durch einen SSH Tunnel kann, ähnlich einer VPN Verbindung, bestimmten Programmen ein direkter Zugriff auf ein anderes Netzwerk gegeben werden, bei richtiger Konfiguration spielt es dabei keine Rolle von welcher Seite der Tunnel aufgebaut wurde.

was kann die hier beschriebene Lösung?

Mit dieser Anleitung kann ein RemotePC konfiguriert werden, der in der Lage ist sich auf Clients zu verbinden, auch wenn diese sich hinter einer Firewall, NAT oder einem Proxyserver befinden. Die Lösung erfordert ein wenig Vorbereitung bzw. einige Voraussetzungen auf dem RemotePC.
Die Clients können, ähnlich Teamviewer oder Netviewer, über Port 443 (https) eine Verbindung zum Remoteserver aufbauen.
siehe: Open_Source_alternative_zu_Teamviewer_oder_Netviewer_.php

benötigte Programme:

freesshd   www.freesshd.com
putty   Putty Download Home: www.chiark.greenend.org.uk/~sgtatham/putty
VNC   www.realvnc.com

Funktionsweise:

Rechner 1 baut mit putty eine ssh Verbindung zu Rechner 2 auf,
dieser nimmt die Verbindung an und kann über den aufgebauten Tunnel Rechner 1 fernsteuern.
Vorteil: der Rechner der ferngesteuert werden soll, braucht keine öffentliche IP-Adresse, es muss nur ein Port nach außen hin frei sein

Download

1) Putty baut eine Verbindung zum SSH Dienst des 2ten Rechners auf (Tunnel)
2) nun kann der VNC Client von Rechner 2 über die aufgebaute Verbindung Rechner 1 fernsteuern

Damit Rechner 1 eine Verbindung zu Rechner 2 aufbauen kann, braucht Rechner 2 eine öffentliche IP-Adresse.
Falls Rechner 2 keine öffentliche IP hat, kann über Dienste wie DynDNS oder No-IP ein öffentlicher Hostname für den Rechner bereitgestellt werden siehe PC über proxy NAT und Firewall fernsteuern

Download

die Serverseite (Rechner2:will fernsteuern)

Freesshd:

Freesshd starten,
unter SSH kann der gewünschte Port vergeben werden.
Es ist ev. darauf zu achten, daß der Provider, bzw. die Firewall diesen Port durchlassen.
testen kannst du das mit diesem Tool:
CanYouSeeMe.org (dabei muß der Dienst aber laufen, ansonsten bekommst du kein OK)

 

Download

unter USERS mittels ADD einen Benutzer anlegen:

Download

Unter Tunneling unbedingt port forwarding erlauben

die Clientseite (Rechner1:wird ferngesteuert)

Putty

Putty baut eine Verbindung von Rechner1 zu Rechner 2 auf:

Download

Host Name ist dann die öffentliche IP-Adresse bzw. ein DynDNS oder No-IP Host Name auf der Seite von Rechner 1.
der Port muss gleich dem sshd Port sein.

unter SSH, Tunnels werden die Ports festgelegt:

Download 


VNC nutzt den Port 5900:
wenn ich jetzt Remote 5999 auf Destination 5900 umleite kann auf dem Remote Rechner (Rechner2) VNC mit dem Hostnamen: localhost:5999 gestartet werden, dieser Port wird dann auf Rechner2 mit Port 5900 umgeleitet

Open öffnet die Verbindung:


Download

Rechner 1 zeigt nach Open folgende Meldung:
This service is prohibited,
dies bedeutet eigentlich nur, dass wir den Zugriff auf die Konsole nicht erlaubt haben, der Tunnel wurde aber aufgebaut.

VNC

auf Rechner 1 wird dann noch VNC Server installiert bzw. gestartet
Je nach Konfiguration können auch andere Ports bzw. Programme verwendet werden (z.B. Remote Desktop)
Download

Verbindung und Fernwartung starten

Download

auf Rechner 2 kann man die Verbindung unter Active sessions sehen 

Download
Rechner 2 braucht dann den VNC Viewer und kann bei aufgebauter Verbindung Rechner 1 fernsteuern.

Verbindung durch einen Proxy Server auf dem https-Port

Wenn dein Internetprovider Port 443 eingehend nicht verbietet (Rechner2), kann der Client (Rechner1) die Verbindung auch durch einen Proxyserver (meist bei Firmen) aufbauen:
Dazu muss der ssh-Dienst (Rechner2) auf Port 443 horchen. (anstelle wie hier beschrieben Port 6000)

Im Putty muss die Verbindung dann auch auf Port 443 erfolgen (Rechner1) und unter Proxy den Proxy-Server und Port angeben.
Falls der Proxy eine Authentifizierung verlangt: Domain\Username und Passwort unter Password angeben.


Download

Der Verbindungsaufbau von Clientseite ist dann ähnlich den kommerziellen Fernwartungstools wie Teamviewer oder Netviewer
Der Rechner baut über Port 443 (normal https) eine Verbindung ins Internet auf. Da Port 443 von den meisten Proxy nicht weiter kontrolliert wird, (der Inhalt ist verschlüsselt und somit schwer zu kontrollieren) funktioniert die Lösung durch die meisten Proxy Server hindurch.

Automatisieren

Um den Benutzer von Rechner1 die Einwahl zu erleichtern kannst du eine vorher abgespeicherte Putty Verbindung auch über eine Batch-Datei aufrufen:
unter Data könnte dann noch der Auto-login Username angegeben werden und die gespeicherte Verbindung mit folgenden cmd-Befehl ausgeführt werden:
start /min putty.exe -load gepeichertesPuttyProfil -pw SSHRemotePasswort
VNC könnte über folgenden Befehl automatisch gestartet werden.
start winvnc4.exe -noconsole

positive Bewertung({{pro_count}})
Beitrag bewerten:
{{percentage}} % positiv
negative Bewertung({{con_count}})

DANKE für deine Bewertung!

Aktualisiert: 08.09.2015 von Bernhard |🔔 | Kommentare:8

kindersicheres Internet über das Heimnetzwerk - DNS am Router | Internet | eigene Zertifizierungsstelle - Anleitung Tool XCA

Top-Artikel in diesem Bereich


eigene Zertifizierungsstelle - Anleitung Tool XCA

Mit dem kostenlosen Tool XCA ist es sehr einfach möglich, selbst Zertifikate zu erstellen.


Firefox und alte Java Version ohne Installation: Portable

Aufgrund zahlreicher Sicherheitslücken hat Java in der Vergangenheit immer wieder Schlagzeilen gemacht. Schon möglich, dass neuere Versionen etwas sicherer sind, dafür funktionieren aber zahlreiche webbasierte Verwaltungsoberflächen nach einem Update nicht mehr. Wer also keine alte Java-Version auf seinem Rechner installieren will, kann Firefox mit einer alten Java-Runtime (JRE) einfach bei Bedarf aus einem Ordner starten, ganz ohne Installation.


automatische Umleitung auf https in Chrome löschen: localhost

Beim Aufruf einer Testseite ohne https auf localhost hatte ich vor kurzem folgendes Phänomen: http://localhost wurde auf https://localhost umgeleitet: Die Testseite konnte nicht mehr angezeigt werden.

Fragen / Kommentare


(sortiert nach Bewertung / Datum) [alle Kommentare(neueste zuerst)]

✍anonym
14.06.2010 09:27
User: cyaneo 
Diese Möglichleit hat leider zwei sehr entscheidende Nachteile:
  1. Muss wieder "irgendein" Port freigegeben werden
  2. Ich muss die IP Adresse des "Clients" kennen

✍anonym
16.08.2009 04:53
User: Paul 
Vergesst nicht, im Router zB. FritzBox den Port fürs SSH freizugeben.

✍anonym
14.08.2009 19:51
User: Neuer 
Gute Zusammenfassung!
  Bei Putty sollte noch stehen, wie man die Einstellungen speichert. Vor allem weil man ja noch den Tunnel definieren muss. Das Speichern ist bei Putty ja nicht gerade intuitiv...

✍anonym
11.02.2009 11:12
User: Tobsen 
@Pakon:
  Analog zum VNC Beispiel kannst du auch die RDP Sitzung benutzen. Du musst allerdings dann den Port 3389 verwenden und als Eingabe im RDP Fenster localhost:20.

✍anonym
02.06.2008 08:13
User: Pakon 
Was ist mit der RDP-Funktion von Windows?

✍anonym
20.05.2008 11:42
User: Peter 
Super Howto. Kann es sein das im letzten Satz Rechner 1 und 2 vertauscht wurden? Lt. Grafik steuert Rechner 2 mit VNC Client den Rechner 1?!
  Gruß Peter
✍Bernhard
gepostet am 20.05.2008 11:42
stimmt, danke hab ich ausgebessert!

Beitrag erstellt von Bernhard

✍anonym
03.04.2008 16:27
User: ter11 
super sache - was ist, wenn der ssh-server nicht auf dem rechner 1 läuft, sondern auf einem dritten (linux) rechner im selben lan wie rechner 1?

Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu Mehr Details