¿Cómo usar VNC con el túnel SSH? ¿“Cómo es esto seguro”?

5

PC-A: la máquina local, desde donde quiero ver la máquina remota [Fedora]
PC-B: la máquina remota, donde el servidor vnc será [Ubuntu]
instale un cliente vnc [desde donde desea conectarse] en PC-A

yum -y install vinagre

ssh a la máquina de destino [de PC-A a PC-B], luego: [si PC-B está detrás de NAT, entonces el puerto reenvía el puerto ssh!]
con root en PC-B
necesitará los repositorios del "universo" [vi /etc/apt/sources.list]

apt-get update; apt-get -y upgrade; apt-get install -y tightvncserver
exit

con el usuario normal todavía en PC-B

tightvncserver give a very-very-very good password!!
echo 'gnome-session &' >> ~/.vnc/xstartup

si necesita ayuda con la regla de reenvío de puertos en su enrutador OpenWrt [probado en 10.03]
agregar las reglas de reenvío de puertos

iptables -t nat -I prerouting_wan -p tcp --dport 22 -j DNAT --to REMOTE-PC-B-PRIVATE-IPADDRESS:22
iptables -I forwarding_wan -p tcp --dport 22 -d REMOTE-PC-B-PRIVATE-IPADDRESS -j ACCEPT

eliminar las reglas de reenvío de puerto

iptables -t nat -D prerouting_wan -p tcp --dport 22 -j DNAT --to REMOTE-PC-B-PRIVATE-IPADDRESS:22
iptables -D forwarding_wan -p tcp --dport 22 -d REMOTE-PC-B-PRIVATE-IPADDRESS -j ACCEPT

tenga en cuenta que el tráfico vnc no está encriptado! Así que ssh tunnel a la máquina de destino [de PC-A a PC-B]

ssh -f -L 5901:localhost:5901 USERNAME@REMOTE-PC-B-PUBLIC-IPADDRESS -N -p 22

luego conéctese con vinagre: "127.0.0.1:5901" en PC-A

p.s .: si presionas la tecla "d" y tiene un efecto como "show desktop", luego presionas "ALT + F2" y luego escribes: "gnome-keybinding-properties"

importante: ¡elimina vnc en el lado de destino una vez que hayas terminado!

pkill vnc
apt-get purge -y tightvncserver


AQUÍ viene la PREGUNTA: ¿es esto suficientemente seguro? ¿La conexión VNC realmente pasa por solo el túnel SSH ?

    
pregunta LanceBaynes 17.03.2011 - 12:34
fuente

3 respuestas

7

Si se está conectando a localhost (127.0.0.1) en un puerto reenviado ssh (el 5901 se reenvió), entonces sí, su conexión al host remoto está cifrada.

    
respondido por el Jeff Ferland 17.03.2011 - 16:03
fuente
6

Tenga en cuenta que cualquier aplicación local que pueda conectarse a localhost no tendrá ningún obstáculo para atacar el servicio vnc de escucha, por lo tanto, como mínimo, asegúrese de que la autenticación vnc siga habilitada.

    
respondido por el TobyS 17.03.2011 - 16:37
fuente
1

Si desea asegurarse al 100% de que sea seguro, asegúrese de que el único puerto abierto en su host remoto sea el puerto 22, el puerto SSH. Definitivamente no quieres ver nada en los puertos 59xx. Si están abiertos, entonces alguien puede conectarse directamente a VNC. Siempre use nmap o algún otro escáner de puertos para verificar sus puertos abiertos cuando realice cambios en el firewall:

nmap ip_of_your_remote_host

o

nmap -PN -p 22,5900-5999 ip_of_your_remote_host
    
respondido por el Antonius Bloch 28.05.2011 - 19:25
fuente

Lea otras preguntas en las etiquetas