VNC Server und Client unter FreeBSD 9 einrichten

Beschreibung der Installation eines VNC-Servers und Aufbau eines SSH-Tunnels.

Window manager installieren

  1. portinstall -cP jwm

VNC-Server installieren

  1. portinstall -cP net/vnc

VNC-Server starten

Den Server einmal initial starten.

  1. vncserver -depth 24 -geometry 1024x768

und wieder beenden ...

  1. vncserver -kill :1

nun eine kleine Anpassung: In der Datei

  1. vi ~/.vnc/xstartup

folgende Anpassungen:

  1. #!/bin/sh
  2. xsetroot -solid grey
  3. xset +fp tcp/localhost:7100
  4. exec jwm
  5.  
  6. [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
  7. xsetroot -solid grey
  8. vncconfig -iconic &
  9. xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
  10. twm &

Dann noch das eigene Passwort setzen:

  1. vncpasswd

Beim nächsten Start des vncservers kann man sich von einem entfernten Rechner mit:

  1. vncviewer SERVER:1

anmelden. Natürlich die Bezeichnung SERVER durch einen eigenen Namen oder IP ersetzen. Das funktioniert natürlich auch mit dem vncviewer unter Windows-Betriebssystemen.

Xterm

Da das System frisch aufgesetzt wurde, fehlte mir insbesondere eine Terminal:

  1. portinstall -cP xterm-278

Sicherheitspasekte

Die Verbindung ist unverschlüsselt und sollte nur im nach außen abgesicherten, privaten (vertrauenswürdigen) Intranet aufgebaut werden.

SSH Tunnel

Wenn der VNC-Server über eine IP oder einem Namen zu erreichen ist, ein ssh-Daemon läuft und auf dem lokalen Rechner ein ssh-Daemin installiert ist, kann ein SSH-Tunnel aufgebaut werden. Hierzu wird auf dem lokalen Rechner das folgende Kommando ausgeführt:

  1. ssh -L 5901:localhost:5901 -N -f -l user vnc.example.org

Die Optionen haben folgende Bedeutung:

  • -L 5901:localhost:5901
    Der lokale Port 5901 wird über ssh weitergeleitet an den Port 5901 auf dem entfernten VNC-Server
  • -N
    Kein Kommando ausführen, nur Ports weiterleiten
  • -f
    Nachdem der Tunnel aufgebaut wurde, soll der Prozess im Hintergrund weiterlaufen
  • -l user
    Der Name des Users user, mit dem man sich per ssh auf dem entfernten Rechner anmelden kann
  • vnc.example.org
    Domain Name des entfernten Rechners

Die VNC-Verbindung stellt man dann mit dem Kommando

  1. vncviewer localhost:1

her.