Cómo configurar una conexión segura TightVNC a través de SSH túnel en Ubuntu 22.04
Recientemente cubrimos el proceso de instalar y configurar un servidor TightVNC en Ubuntu 20.04. Además de esto, el proceso de creación de una red segura SSH A continuación se describirá el túnel para una conexión TightVNC. Esto se debe a que VNC en sí no es seguro. El uso de un SSH túnel corrige la situación.
PREPARACIÓN
SSH La tunelización es un método que enruta el tráfico de red desde la aplicación a un servidor remoto. En la comunicación tradicional, una aplicación envía datos a través de su propio socket, siguiendo su propio protocolo. Sin embargo, con la tunelización, un servicio local acepta los paquetes de red y los redirige a través de una conexión segura. Al llegar al servidor remoto, los paquetes se desencapsulan, lo que permite que la aplicación reciba los datos según lo previsto.
Instale todas las dependencias para una correcta implementación:
apt update && apt install xfce4 xfce4-goodies tightvncserver ufw -y

Establecer contraseña para trabajar correctamente:
vncserver

Necesitamos cerrar el puerto del servicio VNC en la interfaz pública:
ufw deny 5901/tcp
También debe cerrar todas las sesiones de TightVNC en ejecución.
vncserver -kill :1
Y comience una sesión escuchando solo las conexiones internas. Después de abrir el SSH túnel, esta será nuestra conexión.
vncserver -localhost
Si ha configurado el servicio TightVNC, abra su configuración.
nano /etc/systemd/system/vncserver.service
Encuentre la Inicioejecutivo parámetro y hacer que se vea así:
ExecStart=/usr/bin/vncserver -localhost
Recargar systemd:
systemctl daemon-reload
E inicie (o reinicie) el servicio:
systemctl enable --now vncserver
Creación de una SSH Túnel
El siguiente comando debe ejecutarse en la computadora cliente desde la que se está conectando al servidor VNC. Conecta el puerto 61000 en la máquina local al puerto 5901 en el servidor a través de un SSH túnel.
ssh -L 61000:localhost:5901 -N -l username VNC_server_IP
Las siguientes opciones se utilizan para crear un túnel:
- -L - reenviar información desde el puerto local 61000 al puerto remoto 5901 a través de SSH túnel;
- -N - especifica solo reenviar puertos, no ejecutar el comando;
- -l - especifica el nombre de usuario para crear el túnel.
Reemplaza nombre de usuario e IP_servidor_VNC con tus propios parámetros. Si te conectas usando un SSH clave, no olvide agregar la -i parámetro, como con un habitual SSH conexión.
Uso de Putty para crear un SSH túnel
Utilice los parámetros de conexión normales en Putty. Además de estos, debe agregar algunas configuraciones. Es decir, vaya a Conexión - SSH - Túneles, introduzca 61000 en la categoría Industrial. Puerto de origen e localhost: 5901 en la categoría Industrial. Destino.
Haga clic en Agregar y aplicar.
Conexión a un escritorio remoto
Preguntas más frecuentes (FAQ)
- ¿Por qué debería utilizar un? SSH ¿Túnel con TightVNC?
Las conexiones VNC no están cifradas de forma predeterminada, lo que las hace vulnerables a la interceptación. SSH La tunelización asegura la conexión cifrando el tráfico entre el cliente y el servidor. - ¿Cómo SSH ¿Trabajo de tunelización para VNC?
SSH La tunelización reenvía el tráfico del puerto local (por ejemplo, 61000) al puerto del servidor VNC remoto (por ejemplo, 5901) a través de una red segura. SSH Conexión. Esto le permite acceder a su escritorio remoto de forma segura a través del host local. - ¿A qué puerto debo conectarme cuando uso un cliente VNC con un SSH ¿túnel?
Después de establecer el SSH túnel, use localhost:61000 en su cliente VNC para conectarse de forma segura al escritorio remoto. - ¿Necesito cambiar la configuración del servidor VNC para SSH ¿tunneling?
Sí. Debe configurar TightVNC para escuchar solo al host local (vncserver -localhost) y, opcionalmente, ajustar el archivo vncserver.service para que no acepte conexiones externas directamente. - ¿Puedo crear un? SSH ¿Túnel usando PuTTY?
Sí. En PuTTY, vaya a Conexión > SSH > Túneles: introduzca 61000 como puerto de origen y localhost:5901 como destino. Haga clic en "Agregar" y conéctese como de costumbre. - ¿Debo cerrar los puertos VNC públicos en el firewall?
Por supuesto. Una vez configurado el túnel, bloquee el acceso público al puerto 5901 mediante UFW (ufw deny 5901/tcp) para evitar el acceso directo no autorizado a su servidor VNC.


