Itse olen käyttänyt vnc:tä etätuen antamiseen, kun on pitänyt neuvoa miten joku asia tehdään (esimerkiksi digikuvien polttaminen CD-levylle). Asennusvaiheessa laitan kohdekoneelle aina ssh-palvelimen ja lisäksi laitan koneen rekisteröimään itsensä dyndns-palveluun. Nämä asiat teen jo pelkkää ylläpitoa ajatellen.
Etätukea varten olen tehnyt pienen
skriptin joka ottaa ssh-yhteyden annetulle kohdekoneelle ja samalla tunneloi yhden portin liikenteen (oletuksena 5900 eli vnc:n localhost:0-osoite; jos vnc:n osoite on localhost:1 niin silloin portin tulee olla 5901 ja niin edelleen). Jos annettu kohdekoneen nimi päättyy pisteeseen niin silloin loppuun täydennetään dyndns.org. Skripti ei siis tee mitään ihmeellistä vaan säästää ainoastaan kirjoittamisessa :)
-- Yhteys lähiverkon koneeseen "pingviini", tunneloidaan portti 5900
$ ./createtunnel.sh pingviini
-- Yhteys koneeseen "pingviini.dyndns.org", tunneloidaan portti 5900
$ ./createtunnel.sh pingviini.
-- Yhteys koneeseen 192.168.0.5, tunneloidaan portti 5903
$ ./createtunnel.sh -p 5903 192.168.0.5
Kun tunneli on muodostettu pyydän vastapuolta käynnistämään oman vnc-palvelimensa[1] ja otan yhteyden omalla vnc-asiakasohjelmalla osoitteeseen localhost:0 (olettaen että tunneloitu portti on 5900). Tällöin siis vnc avaa yhteyden oman koneen porttiin 5900 jonka ssh-välittää kohdekoneen porttiin 5900.
Tässä tapauksessa tunneloinnista on mielestäni useita etuja. Ensinnäkin kohdekoneella ei tätä varten tarvitse olla ssh:n lisäksi auki mitään muita portteja ja toisekseen vnc ei salaa liikennettään joten joku periaatteessa voisi katsella sivusta koko istunnon jos yhteys muodostettaisiin suoraan ilman ssh:ta.
Tavalliseen ylläpitoon en tuota kuitenkaan käyttäisi vaan sen tekisin ssh:n kautta suoraan.
[1] Pyyntö tehdään tietysti tavalla jonka vastapuolikin ymmärtää.