VNC über SSH Tunnel

  1. Auf dem Remote-Server muss ein „VNC-Server-Prozess“ laufen. Dieser läuft auf Unix-Systemen normalerweise auf port 5901
  2. Dann muss auf dem Client ein „vncviewer“ installiert sein.
  3. Dann muss natürlich auf dem Remote-Server ein funktionierender SSH-Server laufen
  4. Ein SSH-Client muss auch auf der Client-Seite installiert sein
  5. Nun kann auf Client-Seite SSH verwendet werden um alle anfragen auf port 5900 an einen Server auf der Remote-Seite geschickt werden kann:
    ssh -L <lokaler port welcher getunnelt werden muss>:<remoteHost>:<remotePort> <SSH-Host>

    z.B.

    ssh -L 5900:192.168.1.50:5901 test.ch

    hier wird per ssh eine Verbindung mit test.ch aufgenommen. Wenn nun local Daten auf den Port 5900 gesendet werden, wird dieser Datenstrom an test.ch gesendet. Von dort wird der SSH-Server die Daten an 192.168.1.50:5901 senden.

  6. Mein VNC-Server läuft auf dem Remote-Rechner auf Port 5901
  7. Nun mit dem vncviewer eine Verbindung mit dem Remote-Server aufbauen:
    vncviewer localhost:0

    der vncviewer verwendet standartmässig port 5900. Der viewer wird nun also auf versuchen mit localhost:5900 eine Verbindung aufzubauen. Die Verbindung wird nun aber per SSH gleich nach test.ch getunnelt und von dort an den entsprechenden SSH-Server. „:0“ gibt an, welche Screen-Nr. verwedet werden soll.