VNC Server und Client unter FreeBSD 9 einrichten
Beschreibung der Installation eines VNC-Servers und Aufbau eines SSH-Tunnels.
Window manager installieren
portinstall -cP jwm
VNC-Server installieren
portinstall -cP net/vnc
VNC-Server starten
Den Server einmal initial starten.
vncserver -depth 24 -geometry 1024x768
und wieder beenden ...
vncserver -kill :1
nun eine kleine Anpassung: In der Datei
vi ~/.vnc/xstartup
folgende Anpassungen:
#!/bin/sh xsetroot -solid grey xset +fp tcp/localhost:7100 exec jwm [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources xsetroot -solid grey vncconfig -iconic & xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & twm &
Dann noch das eigene Passwort setzen:
vncpasswd
Beim nächsten Start des vncservers kann man sich von einem entfernten Rechner mit:
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:
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:
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
vncviewer localhost:1
her.