Cómo instalar y configurar VNC en Ubuntu 20.04

0 acciones
0
0
0
0

Cómo instalar y configurar VNC en Ubuntu 20.04

Introducción

La computación en red virtual (VNC) es un sistema de conexión que permite usar el teclado y el ratón para interactuar con un entorno de escritorio gráfico en un servidor remoto. Facilita a los usuarios que aún no se familiarizan con la línea de comandos la gestión de archivos, software y configuraciones en el servidor remoto.

En esta guía, configurará un servidor VNC con TightVNC en un servidor Ubuntu 20.04 y se conectará a él mediante un túnel SSH. Después, usará un programa cliente VNC en su equipo local para interactuar con el servidor mediante un entorno de escritorio gráfico.

Requisitos previos

Para completar este tutorial, necesitarás:

  1. Un servidor Ubuntu 20.04 con un usuario administrativo no root y un firewall configurado con UFW.
  2. Un equipo local con un cliente VNC instalado. El cliente VNC que utilice debe ser compatible con conexiones mediante túneles SSH.
  • En Windows, puede utilizar TightVNC, RealVNC o UltraVNC.
  • En macOS, puedes usar la aplicación Compartir pantalla incorporada o puedes usar una aplicación multiplataforma como RealVNC.
  • En Linux, puedes elegir entre muchas opciones, incluidas: vinagrekrdcElija RealVNC o TightVNC.

Paso 1: Instalar el entorno de escritorio y el servidor VNC

De forma predeterminada, Ubuntu 20.04 Server no viene instalado con un entorno de escritorio gráfico o un servidor VNC, por lo que debe comenzar instalándolos.

A la hora de elegir un servidor VNC y un entorno de escritorio, tienes muchas opciones. En este tutorial, instalarás paquetes para el entorno de escritorio Xfce más reciente y el paquete TightVNC, disponible en el repositorio oficial de Ubuntu. Tanto Xfce como TightVNC son conocidos por su ligereza y rapidez, lo que garantiza una conexión VNC fluida y estable incluso con conexiones a internet lentas.

Después de conectarse a su servidor con SSH, actualice su lista de paquetes:

    $ sudo apt update

Ahora empaqueta Xfce con xfce4-goodies Instalación que incluye varias mejoras en el entorno de escritorio:

    $ sudo apt install xfce4 xfce4-goodies

Durante la instalación, es posible que se le pida que elija un administrador de pantalla predeterminado para Xfce. Un administrador de pantalla es un programa que le permite seleccionar e iniciar sesión en un entorno de escritorio mediante una interfaz gráfica. Solo usará Xfce al conectarse con un cliente VNC, y en estas sesiones de Xfce ya habrá iniciado sesión como usuario no root de Ubuntu. Por lo tanto, para este tutorial, la elección de su administrador de pantalla no es relevante. Elija uno y... INGRESAR Prensa .

Una vez completada la instalación, instale el servidor TightVNC:

    $ sudo apt install tightvncserver

A continuación, el comandoservidor VNC Ejecutar para establecer la contraseña de VNC, crear archivos de configuración inicial e iniciar una instancia de servidor VNC:

    Servidor VNC $

Se le pedirá que ingrese y confirme una contraseña para acceder de forma remota a su dispositivo:

   Producción

Necesitará una contraseña para acceder a sus escritorios.

 

Contraseña:

Verificar:

La contraseña debe tener entre seis y ocho caracteres. Las contraseñas de más de ocho caracteres se truncan automáticamente.

Una vez confirmada la contraseña, podrá crear una contraseña de solo lectura. Los usuarios que inicien sesión con esta contraseña no podrán controlar la instancia de VNC con el ratón ni el teclado. Esta opción es útil si desea mostrar información a otras personas que usen su servidor VNC, pero no es obligatoria.

Este proceso crea los archivos de configuración predeterminados y la información de conexión necesarios para el servidor. Además, crea una instancia de servidor predeterminada en el puerto 5901 Este puerto se llama puerto de pantalla y lo utiliza VNC como:1 VNC puede ejecutar múltiples instancias en otros puertos de pantalla, con :2 Al puerto5902, 3: Señalando a 5903 etc.:

   Producción

¿Desea ingresar una contraseña de solo lectura (s/n)?norte

xauth: archivo /inicio/Sammy/.Xauthority no existe

 

El nuevo escritorio 'X' es su_nombre_de_host:1

 

Creación del script de inicio predeterminado /home/Sammy/.vnc/xstartup

Iniciando aplicaciones especificadas en /home/Sammy/.vnc/xstartup

El archivo de registro es /home/Sammy/.vnc/su_nombre_de_host:1.registro

Tenga en cuenta que si alguna vez desea cambiar su contraseña o agregar una contraseña de solo lectura, puede hacerlo con el comando contraseña vncwd Hacer:

    $ contraseña virtual

En este punto, el servidor VNC está instalado y funcionando. Ahora, configurémoslo para que inicie Xfce y nos dé acceso al servidor mediante una interfaz gráfica.

##Septo 2: Configuración del servidor VNC

El servidor VNC necesita saber qué comandos ejecutar al iniciarse. En concreto, VNC necesita saber a qué entorno gráfico de escritorio conectarse.

Los comandos que ejecuta el servidor VNC cuando se inicia están en un archivo de configuración llamado xstartup En la carpeta
.vnc A continuación se muestra su directorio principal. El script de inicio se creó al ejecutar el comando en el paso anterior. servidor VNC Lo ejecutaste, pero crearás tu propio script para iniciar el escritorio Xfce.

Dado que va a cambiar la forma en que está configurado el servidor VNC, primero elimine la instancia del servidor VNC que se ejecuta en el puerto 5901 Está en ejecución. Deténgalo con el siguiente comando:

    $   vncserver-kill :1 

La salida se verá así, aunque verá un PID diferente:

   Producción

Matar el ID del proceso Xtightvnc 17648

Antes del archivo xstartup Cambiar, respaldar el original:

    $ mv ~/.vnc/xstartup ~/.vnc/xstartup.bak

Ahora un archivo xstartup Crea uno nuevo y ábrelo en un editor de texto como nano Abierto:

    $  nano ~/.vnc/xstartup

Luego agregue las siguientes líneas al archivo:

~/.vnc/xstartup

#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 y

La primera línea es un tinglado. En archivos de texto plano ejecutables en plataformas *nix, un el asunto Indica al sistema a qué intérprete enviar el archivo para su ejecución. En este caso, se envía el archivo al intérprete de Bash. Esto permite que cada línea sucesiva se ejecute como un comando en orden.

El primer comando en el archivo, xrdb $HOME/.Xresources, el marco GUI de VNC llama al archivo .Recursos X El usuario lee el servidor. .Recursos X Aquí es donde el usuario puede modificar ciertas configuraciones del escritorio gráfico, como los colores de la terminal, los temas del cursor y la representación de fuentes. El segundo comando indica al servidor que inicie Xfce. Estos comandos se ejecutan automáticamente al iniciar o reiniciar el servidor VNC.

Después de agregar estas líneas, guarde y cierre el archivo. Si Nano Lo usas, hazlo presionando CTRL + X, Y Y luego INGRESAR Hazlo.

Para garantizar que el servidor VNC pueda usar este nuevo archivo de configuración correctamente, debe hacerlo ejecutable:

    $ chmod +x ~/.vnc/xstartup

Luego reinicie el servidor VNC:

    $ vncserver-localhost

Tenga en cuenta que esta vez el comando incluye la opción -localhost Esto conecta el servidor VNC a la interfaz Loopback de su servidor. Esto hará que VNC solo permita conexiones desde el servidor donde está instalado.

A continuación, crea un túnel SSH entre tu máquina local y tu servidor, lo que básicamente engaña a VNC para que piense que la conexión desde tu máquina local se originó en tu servidor. Esta estrategia añade una capa adicional de seguridad a VNC, ya que solo los usuarios que ya tienen acceso SSH a tu servidor pueden acceder.

Verá un resultado similar a este:

Producción
El nuevo escritorio 'X' es  su_nombre_de_host:1

Iniciando aplicaciones especificadas en /home/Sammy/.vnc/xstartup
El archivo de registro es /home/Sammy/.vnc/su_nombre_de_host:1.registro

Con la configuración establecida, está listo para conectarse al servidor VNC desde su máquina local.

Paso 3: Conéctese de forma segura al escritorio VNC

VNC no utiliza protocolos seguros al conectarse. Para conectarse de forma segura a su servidor, cree un túnel SSH y luego indique a su cliente VNC que se conecte mediante ese túnel en lugar de comunicarse directamente.

Cree una conexión SSH en su computadora local que se conecte de forma segura a Conexión local del host Transferencia VNC. Puedes hacerlo a través de la terminal en Linux o macOS con el comandossh Haga lo siguiente:

$ ssh-L 59000 :localhost: 5901 -C-N-l  Sammy tu_ip_del_servidor

Aquí está el significado de las opciones de este comando. ssh Se afirma:

  • -L 59000:host local:5901: Cambiar -L Especifica que el puerto dado está en la computadora local (59.000(debe enviarse al host y puerto indicados en el servidor de destino)host local:5901, que significa puerto 5901 En el servidor de destino, como tu_ip_del_servidor (Tenga en cuenta que el puerto local que especifique es algo arbitrario. Siempre que el puerto no esté conectado a otro servicio, puede usarlo como puerto de reenvío para su túnel).
  • -DO:Esta bandera habilita la compresión, lo que puede ayudar a reducir el consumo de recursos y acelerar las tareas.
  • -NORTE:Esta opción esssh Indica que no desea ejecutar ningún comando remoto. Esta configuración es útil cuando solo desea redireccionar puertos.
  • l sammy tu_ip_del_servidor-: Cambiar -l Le permite especificar el usuario con el que desea iniciar sesión al conectarse al servidor. Asegúrese de que Sammy tu_ip_del_servidor Reemplace con el nombre de su usuario no root y la dirección IP de su servidor.

Nota: Este comando crea un túnel SSH que envía datos desde el puerto 5901 En su servidor VNC, vaya al puerto 59.000 En su máquina local a través del puerto 22 En cada dispositivo, el puerto SSH predeterminado reenvía. Suponiendo que siguió la guía básica de configuración del servidor para Ubuntu 20.04, agregó una regla UFW para permitir conexiones a su servidor mediante OpenSSH.

Esto es más seguro que abrir el firewall de su servidor para conectarse al puerto. 5901 Esto se debe a que permite que cualquiera acceda a su servidor mediante VNC. Al conectarse mediante un túnel SSH, limita el acceso a VNC a las máquinas que ya tienen acceso SSH al servidor.

Si está utilizando PuTTY para conectarse a su servidor, puede crear un túnel SSH haciendo clic derecho en la barra superior de la ventana del terminal y luego haciendo clic en la opción …Cambiar configuración Hacer clic:


Rama Conexión Busque la rama en el menú de árbol en el lado izquierdo de la ventana de reconfiguración de PuTTY. SSH Abrir y tocar Túneles Haga clic. En Opciones del controlador de la página de reenvío de puertos59000 strong> SSH, como puerto de origen y host local:5901 Ingrese como destino, así:


Luego haga clic en el botón. Agregar Haga clic y luego en el botón Aplicar Haga clic para implementar el túnel.

Una vez que el túnel esté en funcionamiento, utilice un cliente VNC para conectarse a host local:59000 Se le pedirá que se autentique utilizando la contraseña que estableció en el paso 1.

Una vez conectado, verá el escritorio predeterminado de Xfce. Debería verse así:


Como puede ver aquí, puede acceder a los archivos en su directorio de inicio con el administrador de archivos o desde la línea de comando:


CTRL+C Pulsa en tu terminal local para detener el túnel SSH y volver a la aplicación. Esto también desconectará tu sesión VNC.

Ahora puede configurar su servidor VNC para que se ejecute como un servicio systemd.

Paso 4: Ejecutar VNC como un servicio del sistema
Al configurar el servidor VNC para que se ejecute como un servicio systemd, puede iniciarlo, detenerlo y reiniciarlo según sea necesario, como cualquier otro servicio. También puede usar comandos de administración de systemd para garantizar que VNC se inicie al arrancar el servidor.

Primero, crea un nuevo archivo de unidad llamado /etc/systemd/system/[email protected] Crear:

    $ sudo nano /etc/systemd/system/[email protected]

Símbolo @ Al final del nombre, se puede pasar un argumento que se puede usar en la configuración del servicio. Este se usará para especificar el puerto de pantalla VNC que se usará al administrar el servicio.

Agregue las siguientes líneas al archivo. Asegúrese de incluir el valor. Usuario, grupo, directorio de trabajo y el nombre de usuario en el valor PIDFILE Cambiar para que coincida con su nombre de usuario:

/etc/systemd/system/[email protected]

[Unidad] Descripción=Iniciar el servidor TightVNC al inicio
Después de=syslog.target red.target

[Servicio] Tipo=bifurcación
Usuario= Sammy
Grupo= Sammy
DirectorioDeTrabajo=/inicio/Sammy

PIDFile=/inicio/Sammy/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -profundidad 24 -geometría 1280×800 -localhost:%i
ExecStop=/usr/bin/vncserver -kill :%i

[Instalar] WantedBy=multi-user.target

Orden EjecutarInicioPre Si VNC ya se está ejecutando, se detendrá. Comando Inicio ejecutivo Inicia VNC y establece la profundidad de color a 24 bits con una resolución de 1280×800. También puede modificar estas opciones de inicio según sus necesidades. Tenga en cuenta que el comandoInicio ejecutivo De nuevo
Incluye opción -localhost Es.

Guarde y cierre el archivo.

A continuación, notifique al sistema el nuevo archivo de unidad:

    $ sudo systemctl daemon-reload

    $ sudo systemctl daemon-reload

Habilitar el archivo de unidad:

    $ sudo systemctl habilitar [email protected]

1 Bajo el cartel@ Indica en qué número de pantalla debe aparecer el servicio, en este caso el predeterminado :1 Como se discutió en el paso 2.

Detenga la instancia actual del servidor VNC si aún está en ejecución:

    $ vncserver-kill:1

Luego inícielo como cualquier otro servicio systemd:

    $ sudo systemctl iniciar vncserver@1

Puedes verificar que se ha iniciado con este comando:

    $ sudo systemctl estado vncserver@1

Si se inicia correctamente, la salida debería verse así:

Producción

[email protected] – Iniciar el servidor VNC Tight al inicio
Cargado: cargado (/etc/systemd/system/[email protected]; habilitado; valor predeterminado del proveedor: habilitado)
Activo: activo (en ejecución) desde el jue. 07/05/2020 17:23:50 UTC; hace 6 s
Proceso: 39768 ExecStartPre=/usr/bin/vncserver -kill :1 > /dev/null 2>&1 (código=salido, estado=2)
Proceso: 39772 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280×800 :1 (código=salido, estado=0/ÉXITO)
PID principal: 39795 (Xtightvnc)

Su servidor VNC ahora está listo para usarse cada vez que se inicie su servidor, y puede iniciarlo como cualquier otro servicio systemd con los comandoscontrol del sistema Administrar.

Sin embargo, no habrá diferencia en el lado del cliente. Para reconectarse, reinicie el túnel SSH:

$ ssh-L 59000 :localhost: 5901 -C-N-l  Sammy tu_ip_del_servidor

Luego, realice una nueva conexión usando su software cliente VNC para host local:59000 Crea una conexión a tu servidor.

Resultado

Ya tienes un servidor VNC seguro ejecutándose en tu servidor Ubuntu 20.04. Puedes administrar tus archivos, software y configuración con una interfaz gráfica intuitiva, y ejecutar software gráfico como navegadores web de forma remota.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

También te puede gustar

Cómo instalar IBSng en CentOS 6/7

Tutorial de instalación de IBSng en CentOS 6/7. En este artículo se proporciona un tutorial de instalación de IBSng en CentOS 6/7 para ayudarle…