GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo instalar y configurar VNC en Debian 9

Este tutorial describe cómo instalar y configurar un servidor VNC en Debian 9. 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 de uso compartido de escritorio gráfico que le permite usar su teclado y mouse para controlar de forma remota otra computadora.

Requisitos previos #

Antes de continuar con el tutorial, asegúrese de haber iniciado sesión como usuario con privilegios de sudo.

Instalación del entorno de escritorio #

Lo más probable es que su servidor Debian no tenga instalado un entorno de escritorio. Nuestro primer paso es instalar un entorno de escritorio ligero.

Hay varios entornos de escritorio (DE) disponibles en los repositorios de Debian. Usaremos Xfce como nuestro entorno de escritorio preferido. Es rápido, estable y liviano, lo que lo hace ideal para usar en un servidor remoto.

Actualice el índice de paquetes 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, la descarga e instalación de los paquetes de Xfce puede llevar algún tiempo.

Instalando el Servidor VNC #

También hay varios servidores VNC diferentes disponibles en los repositorios de Debian, como TightVNC, TigerVNC y x11vnc. Cada servidor VNC tiene sus puntos fuertes y débiles en términos de velocidad y seguridad.

Usaremos TigerVNC, que es un servidor VNC de alto rendimiento mantenido activamente. Para instalar TigerVNC en su servidor Debian, emita el siguiente comando:

sudo apt install tigervnc-standalone-server tigervnc-common

Una vez que el servidor VNC esté instalado, ejecute vncserver Comando para crear la configuración inicial y configurar la contraseña. No use sudo cuando ejecute el siguiente comando:

vncserver

Se le pedirá que ingrese y confirme la contraseña y si desea configurarla como una contraseña de solo lectura. Si elige configurar 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/linuxize/.Xauthority does not exist

New 'debian9.localdomain:1 (linuxize)' desktop at :1 on machine debian9.localdomain

Starting applications specified in /etc/X11/Xvnc-session
Log file is /home/linuxize/.vnc/debian9.localdomain:1.log

Use xtigervncviewer -SecurityTypes VncAuth -passwd /home/linuxize/.vnc/passwd :1 to connect to the VNC server.

Cuando ejecuta el vncserver comando por primera vez, creará y almacenará el archivo de contraseña en el ~/.vnc directorio.

Tenga en cuenta el :1 después del nombre de host en la salida anterior. Esto indica el número de puerto de visualización en el que se ejecuta el servidor vnc. 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 próximo puerto libre, es decir, :2 , lo que significa que el servidor se ejecuta en el puerto 5902 (5900+2).

Lo que es importante tener en cuenta es que cuando se trabaja con servidores VNC, :X es un puerto de pantalla que se refiere a 5900+X .

Antes de continuar con el siguiente paso, detenga la instancia de VNC utilizando el vncserver comando con -kill opción y el número de servidor como argumento. En este caso el servidor se ejecuta en el puerto 5901 (:1 ), así que lo detendremos con:

vncserver -kill :1
Killing Xtigervnc process ID 6677... success!

Configuración del servidor VNC #

Ahora que Xfce y TigerVNC están instalados en la máquina, necesitamos configurar TigerVNC para usar Xfce. Para hacerlo, cree el siguiente archivo:

nano ~/.vnc/xstartup
~/.vnc/xstartup
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4 

Una vez hecho esto, guarde y cierre el archivo. El script anterior se ejecutará automáticamente cada vez que inicie o reinicie el servidor TigerVNC.

El ~/.vnc/xstartup El archivo también necesita tener permisos de ejecución. Ejecute el siguiente chmod comando para asegurarse de que los permisos son correctos:

chmod u+x ~/.vnc/xstartup

Si necesita pasar opciones adicionales al servidor VNC, puede crear un archivo llamado config y agregue una opción por línea. Aquí hay un ejemplo:

~/.vnc/config
geometry=1920x1080
dpi=96

Creación de un archivo de unidad Systemd #

El archivo de la unidad systemd nos permitirá iniciar, detener y reiniciar fácilmente el servicio VNC según sea 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]
/etc/systemd/system/[email protected]
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=simple
User=linuxize
PAMName=login
PIDFile=/home/%u/.vnc/%H%i.pid
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill :%i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver :%i -geometry 1440x900 -alwaysshared -fg
ExecStop=/usr/bin/vncserver -kill :%i

[Install]
WantedBy=multi-user.target

Guarde y cierre el archivo.

Notifique a systemd que un nuevo [email protected] el archivo existe ejecutando el siguiente comando:

sudo systemctl daemon-reload

A continuación, habilite el servicio:

sudo systemctl enable [email protected]

El número 1 después de @ El signo define el puerto de visualización en el que se ejecutará el servicio VNC. Como discutimos en la sección anterior, ya que estamos usando 1 el servidor VNC escuchará en el puerto 5901 .

Inicie el servicio VNC ejecutando:

sudo systemctl start [email protected]

Verifique que el servicio se haya iniciado correctamente con:

sudo systemctl status [email protected]
[email protected] - Remote desktop service (VNC)
   Loaded: loaded (/etc/systemd/system/[email protected]; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2018-10-03 05:23:33 PDT; 51s ago
  Process: 7063 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill :1 > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)
 Main PID: 7071 (vncserver)
    Tasks: 0 (limit: 4915)
   CGroup: /system.slice/system-vncserver.slice/[email protected]
           ‣ 7071 /usr/bin/perl /usr/bin/vncserver :1 -geometry 1440x900 -alwaysshared -fg

Conectando al servidor VNC #

VNC no es un protocolo encriptado y puede estar sujeto a la detección de paquetes. El enfoque recomendado es crear un túnel SSH que reenviará de forma segura el tráfico desde su máquina local en el puerto 5901 al servidor en el mismo puerto.

Configurar SSH Tunneling en Linux y macOS #

Si ejecuta Linux, macOS o cualquier otro sistema operativo basado en Unix en su máquina, puede crear fácilmente un túnel SSH con ssh comando:

ssh -L 5901:127.0.0.1:5901 -N -f -l username server_ip_address

Se le pedirá que ingrese la contraseña de usuario.

No olvide reemplazar username y server_ip_address con tu nombre de usuario y la dirección IP de tu servidor.

Configurar túneles SSH en Windows #

Si ejecuta Windows, puede configurar SSH Tunneling usando el cliente PuTTY SSH.

Abra Putty e ingrese la dirección IP de su servidor en Host name or IP address campo.

Bajo la Connection menú, expanda SSH y seleccione Tunnels . Introduzca el puerto del servidor VNC (5901 ) en el Source Port e ingrese server_ip_address:5901 en el Destination y haz clic en Add como se muestra en la siguiente imagen:

Volver a la Session para guardar la configuración y no tener que introducirla cada vez. Ahora todo lo que necesita hacer es seleccionar la sesión guardada e iniciar sesión en el servidor remoto haciendo clic en Open botón.

Conectando usando Vncviewer #

Ahora que ha configurado el túnel SSH, es hora de abrir su Vncviewer y conectarse al servidor VNC en localhost:5901 .

Puede usar cualquier visor VNC como TigerVNC, TightVNC, RealVNC, UltraVNC, Vinagre y VNC Viewer para Google Chrome.

En este ejemplo, usaremos TigerVNC. Abra su visor VNC, ingrese localhost:5901 y haga clic en Connect botón.

Ingrese su contraseña cuando se le solicite, y debería ver el escritorio Xfce predeterminado. Debería ser algo como esto:

En este punto, se ha conectado con éxito a su servidor a través de VNC. Ahora puede comenzar a interactuar con el escritorio XFCE remoto desde su máquina local usando su teclado y mouse.


Debian
  1. Cómo instalar y configurar VNC en Ubuntu 20.04

  2. Cómo instalar y configurar OpenVPN Server en Debian 10

  3. Cómo instalar y configurar el servidor VNC en Debian 10

  4. Instalar y configurar VNC en Debian 9 - ¿Proceso paso a paso?

  5. Cómo instalar y configurar Squid Proxy en Debian 11

Cómo instalar y configurar el servidor VNC en CentOS 7

Cómo instalar y configurar el servidor web Apache en Debian 11

Cómo instalar y configurar Git en Debian 11

Cómo instalar y configurar VNC en Ubuntu Server 20.04

Cómo instalar VNC en Debian 10

Cómo instalar el servidor VNC en Debian 11