Introducción
Este tutorial describe cómo instalar y configurar el servidor VNC en Linux Debian 10. También le mostraremos cómo crear un túnel SSH y conectarse de forma segura al servidor VNC.
Virtual Network Computing (VNC) es un sistema gráfico para compartir escritorio que le permite usar su teclado y mouse para controlar remotamente otra computadora.
Prerrequisitos
Antes de continuar con el tutorial, asegúrese de haber iniciado sesión como usuario con privilegios de sudo.
Si su intención es instalar VNC en un servidor remoto, siga leyendo; de lo contrario, si desea instalar VNC en su computadora local, omita el primer párrafo "Conectando al servidor" y lea el siguiente.
Conexión al servidor
Para acceder al servidor, necesita conocer la dirección IP. También necesitará su nombre de usuario y contraseña para la autenticación. Para conectarse al servidor como root, escriba el siguiente comando:
ssh root@IP_DEL_SERVER
A continuación, deberá ingresar la contraseña del usuario root.
Si no está utilizando el usuario root, puede iniciar sesión con otro nombre de usuario utilizando el mismo comando, luego cambie root a su nombre de usuario:
ssh nome_utente@IP_DEL_SERVER
Luego se le pedirá que ingrese su contraseña de usuario.
El puerto estándar para conectarse a través de ssh es 22, si su servidor usa un puerto diferente, deberá especificarlo usando el parámetro -p, luego escriba el siguiente comando:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Instalar el entorno de escritorio
Es probable que un entorno de escritorio no esté instalado en su servidor Debian. Nuestro primer paso es instalar un entorno de escritorio ligero.
Hay varios entornos de escritorio (DE) disponibles en los repositorios de Debian. En este tutorial usaremos Xfce como nuestro entorno de escritorio preferido. Es rápido, estable y ligero, lo que lo hace ideal para su uso en un servidor remoto.
Actualice el índice del paquete e instale Xfce en su servidor Debian con los siguientes comandos:
sudo apt install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils
Dependiendo de su sistema, descargar e instalar los paquetes de Xfce puede llevar algún tiempo.
Instale el servidor VNC
También hay varios servidores VNC disponibles en repositorios de Debian como TightVNC, TigerVNC y x11vnc. Cada servidor VNC tiene sus fortalezas y debilidades en términos de velocidad y seguridad.
Usaremos TigerVNC, que es el servidor VNC de alto rendimiento mantenido activamente. Para instalar TigerVNC en su servidor Debian, ejecute el siguiente comando:
sudo apt install tigervnc-standalone-server tigervnc-common
Una vez que el servidor VNC esté instalado, ejecute el vncserver
para crear la configuración inicial y establecer la contraseña. No use sudo
cuando ejecute el siguiente comando:
vncserver
Se le pedirá que ingrese y confirme su contraseña y si desea establecerla como contraseña de solo lectura. Si elige establecer una contraseña de solo lectura, el usuario no podrá interactuar con la instancia de VNC con el mouse y el teclado.
You will require a password to access your desktops.
Password:
Verify:
Would you like to enter a view-only password (y/n)? n
/usr/bin/xauth: file /home/noviello/.Xauthority does not exist
New 'SERVER-1:1 (noviello)' desktop at:1 on machine SERVER-1
Starting applications specified in /etc/X11/Xvnc-session
Log file is /home/noviello/.vnc/SERVER-1:1.log
Use xtigervncviewer -SecurityTypes VncAuth -passwd /home/noviello/.vnc/passwd:1 to connect to the VNC server.
Cuando ejecute el vncserver
por primera vez, el archivo de contraseña se creará y almacenará en el directorio ~/.vnc
Lo que es importante tener en cuenta es que cuando se trabaja con servidores VNC: :X
es un puerto de pantalla al que hace referencia 5900+X
En nuestro caso, el servidor se ejecuta en el puerto TCP 5901
(5900 + 1). Si crea una segunda instancia con vncserver
, se ejecutará en el siguiente puerto libre, es decir :2
esto significa que la segunda instancia se ejecutará en el puerto 5902
(5900 + 2).
Antes de continuar con el siguiente paso, detenga la instancia de VNC usando el vncserver
con la -kill
y el número de servidor como argumento. En nuestro caso, el servidor se está ejecutando en el puerto 5901 ( :1
), por lo que lo detendremos con:
vncserver -kill:1
Killing Xtigervnc process ID 23907... success!
Configuración del servidor VNC
Ahora que tanto Xfce como TigerVNC están instalados en el servidor, necesitamos configurar TigerVNC para usar Xfce. Para hacer esto, cree el siguiente archivo:
nano ~/.vnc/xstartup
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4
Guarde y cierre el archivo presionando CTRL + X, seguido de Y para guardar los cambios y luego ENTER si está usando nano.
El script anterior se ejecutará automáticamente cada vez que inicie o reinicie el servidor TigerVNC.
El ~/.vnc/xstartup
también debe tener permisos de ejecución. Ejecute el chmod
comando chmod para asegurarse de que los permisos sean correctos:
chmod u+x ~/.vnc/xstartup
Si necesita agregar más opciones al servidor VNC, puede crear un archivo llamado config
y agregar una opción por línea. Crea el archivo de configuración:
nano ~/.vnc/config
Pegue el siguiente código para configurar manualmente la resolución:
geometry=1920x1084
dpi=96
Guarde y cierre el archivo presionando CTRL + X, seguido de Y para guardar los cambios y luego ENTER si está usando nano.
Creación de un archivo de unidad Systemd
El archivo de la unidad del sistema nos permitirá iniciar, detener y reiniciar fácilmente el servicio VNC si es necesario.
Abra su editor de texto y copie y pegue la siguiente configuración en él. No olvide cambiar el nombre de usuario en la línea 7 para que coincida con su nombre de usuario.
sudo nano /etc/systemd/system/[email protected]
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=simple
User=Noviello
PAMName=login
PIDFile=/home/%u/.vnc/%H%i.pid
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill:%i > /dev/null 2>&1