Cómo instalar y configurar VNC en Ubuntu 18.04

Introducción

Virtual Network Computing, o VNC, es un sistema de conexión que le permite usar su teclado y mouse para interactuar con un entorno de escritorio gráfico en un servidor remoto. Hace que la administración de archivos, software y configuraciones en un servidor remoto sea más fácil para los usuarios que aún no se sienten cómodos con la línea de comandos.

en esta guía, configurará un servidor VNC en un servidor Ubuntu 18.04 y se conectará a él de forma segura a través de un túnel SSH. Usarás TightVNC, un paquete de control remoto rápido y ligero., Esta opción asegurará que nuestra conexión VNC sea suave y estable incluso en conexiones de internet más lentas.

prerequisitos

para completar este tutorial, necesitarás:

  • Un servidor Ubuntu 18.04 configurado siguiendo la Guía de configuración inicial del Servidor Ubuntu 18.04, incluyendo un usuario no root de sudo y un firewall.
  • Un equipo local con un cliente VNC instalado que admite conexiones VNC a través de túneles SSH.
    • En Winows, puede usar TightVNC, RealVNC o UltraVNC.,
    • En macOS, puede usar el Programa Integrado de uso compartido de pantalla o puede usar una aplicación multiplataforma como RealVNC.
    • En Linux, usted puede elegir entre muchas opciones, como vinagre, krdc, RealVNC, o TightVNC.

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

Por defecto, un servidor Ubuntu 18.04 no viene con un entorno de escritorio gráfico o un servidor VNC instalado, por lo que comenzaremos instalándolos., Específicamente, instalaremos paquetes para el último entorno de escritorio Xfce y el paquete TightVNC disponible en el repositorio oficial de Ubuntu.,»>

ahora instale el entorno de escritorio Xfce en su servidor:

  • sudo apt install xfce4 xfce4-goodies

Una vez que se complete la instalación, instale el servidor TightVNC:

  • sudo apt install tightvncserver

para completar la configuración inicial del servidor VNC después de la instalación, use el vncserver comando para configurar una contraseña segura y crear los archivos de configuración iniciales:

  • vncserver

se le pedirá que ingrese y verifique una contraseña para acceder a su máquina de forma remota:

Output
You will require a password to access your desktops.Password:Verify:

la contraseña debe tener entre seis y ocho caracteres., Las contraseñas de más de 8 caracteres se truncarán automáticamente.

una vez que verifique la contraseña, tendrá la opción de crear una contraseña de solo Vista. Los usuarios que inicien sesión con la contraseña de solo Vista no podrán controlar la instancia de VNC con su ratón o teclado. Esta es una opción útil si desea demostrar algo a otras personas que usan su servidor VNC, pero esto no es necesario.

el proceso crea los archivos de configuración por defecto necesarios y la información de conexión para el servidor:

Ahora vamos a configurar el servidor VNC.,

Paso 2 — Configuración del servidor VNC

el servidor VNC necesita saber qué comandos ejecutar cuando se inicia. Específicamente, VNC necesita saber a qué escritorio gráfico debe conectarse.

estos comandos se encuentran en un archivo de configuración llamado xstartupen la carpeta .vnc en su directorio personal. El script de inicio se creó cuando ejecutó el vncserver en el paso anterior, Pero crearemos el nuestro para iniciar el escritorio Xfce.,

cuando VNC se configura por primera vez, inicia una instancia de servidor predeterminada en el puerto 5901. Este puerto se llama puerto de visualización, y es referido por VNC como :1. VNC puede lanzar varias instancias en otros puertos de pantalla, como :2, :3, y así sucesivamente.,rver está configurado, primero detenga la instancia del servidor VNC que se está ejecutando en el puerto 5901 con el siguiente comando:

  • vncserver -kill :1

la salida debería tener este aspecto, aunque verá un PID diferente:

Output
Killing Xtightvnc process ID 17648

antes de modificar el xstartup archivo, copia de seguridad del original:

  • mv ~/.vnc/xstartup ~/.vnc/xstartup.bak

ahora cree un nuevo xstartup archivo y ábralo en su editor de texto:

  • nano ~/.vnc/xstartup

los comandos en este archivo se ejecutan automáticamente inicie o reinicie el servidor VNC., Necesitamos VNC para iniciar nuestro entorno de escritorio si aún no se ha iniciado. Agregue estos comandos al archivo:

~/.vnc / xstartup
#!/bin/bashxrdb $HOME/.Xresourcesstartxfce4 &

el primer comando en el archivo, xrdb $HOME/.Xresources, le dice a la interfaz gráfica de VNC que lea el archivo .Xresources del usuario del servidor. .Xresources es donde un usuario puede realizar cambios en ciertas configuraciones del escritorio gráfico, como colores de terminales, temas de cursor y representación de fuentes., El segundo comando le dice al servidor que inicie Xfce, que es donde encontrará todo el software gráfico que necesita para administrar cómodamente su servidor.

para asegurarnos de que el servidor VNC pueda usar este nuevo archivo de inicio correctamente, necesitaremos hacerlo ejecutable.

  • sudo chmod +x ~/.vnc/xstartup

ahora, reinicie el servidor VNC.

  • vncserver

verá una salida similar a esta:

con la configuración en su lugar, conectémonos al servidor desde nuestra máquina local.,

Paso 3: Conectar el escritorio VNC de forma segura

VNC en sí no utiliza protocolos seguros al conectarse. Usaremos un túnel SSH para conectarnos de forma segura a nuestro servidor, y luego le diremos a nuestro cliente VNC que use ese túnel En lugar de hacer una conexión directa.

cree una conexión SSH en su computadora local que reenvíe de forma segura a la conexión localhost para VNC. Puede hacerlo a través del terminal en Linux o macOS con el siguiente comando:

  • ssh -L 5901:127.0.0.1:5901 -C -N -l sammy your_server_ip

el conmutador -L especifica los enlaces de puertos., En este caso estamos unión puerto 5901 del control remoto conexión al puerto 5901 en su máquina local. El interruptor -C habilita la compresión, mientras que el interruptor -N le dice a ssh que no queremos ejecutar un comando remoto. El conmutador -l especifica el nombre de inicio de sesión remoto.

recuerde reemplazar sammyy your_server_ip con el nombre de usuario sudo no root y la dirección IP de su servidor.,

si está utilizando un cliente SSH gráfico, como PuTTY, use your_server_ip como IP de conexión, y establezca localhost:5901 como un nuevo puerto reenviado en la configuración del túnel SSH del programa.

una vez que el túnel se está ejecutando, utilice un cliente VNC para conectarse a localhost:5901. Se te pedirá que te autentiques usando la contraseña que configuraste en El Paso 1.

una vez que esté conectado, verá el escritorio Xfce predeterminado., Debería verse algo como esto:

Se puede acceder a los archivos en su directorio de inicio con el administrador de archivos o desde la línea de comandos, como se ve aquí:

Presione CTRL+C en su terminal para detener el túnel SSH y volver a su petición. Esto también desconectará su sesión de VNC.

a continuación vamos a configurar nuestro servidor VNC como un servicio.,

Paso 4-Ejecutar VNC como un servicio del sistema

a continuación, configuraremos el servidor VNC como un servicio systemd para que podamos iniciarlo, detenerlo y reiniciarlo según sea necesario, como cualquier otro servicio. Esto también asegurará que VNC se inicie cuando se reinicie el servidor.

primero, cree un nuevo archivo de unidad llamado /etc/systemd/system/[email protected] usando su editor de texto favorito:

el símbolo @ al final del nombre nos permitirá pasar un argumento que podemos usar en la configuración del servicio., Usaremos esto para especificar el puerto de visualización VNC que queremos usar cuando administramos el servicio.

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

/etc/systemd/system/[email protected]

el comando ExecStartPre detiene VNC si ya se está ejecutando. El comando ExecStart inicia VNC y establece la profundidad de color en color de 24 bits con una resolución de 1280×800. También puede modificar estas opciones de inicio para satisfacer sus necesidades.,

Guardar y cerrar el archivo.

a continuación, haga que el sistema sea consciente del nuevo archivo de unidad.

  • sudo systemctl daemon-reload

habilite el archivo de unidad.

el signo 1 después del signo @ indica sobre qué número de pantalla debe aparecer el servicio, en este caso el valor predeterminado :1 como se discutió en El Paso 2..

detenga la instancia actual del servidor VNC si todavía se está ejecutando.

  • vncserver -kill :1

a continuación, iniciarlo como lo haría con cualquier otro servicio de systemd.,

  • sudo systemctl start vncserver@1

puede verificar que se inició con este comando:

  • sudo systemctl status vncserver@1

si se inició correctamente, la salida debería tener este aspecto:

Su servidor VNC ahora estará disponible cuando reinicie la máquina.

inicie su túnel SSH de nuevo:

  • ssh -L 5901:127.0.0.1:5901 -C -N -l sammy your_server_ip

luego haga una nueva conexión usando su software cliente VNC a localhost:5901 para conectarse a su máquina.

conclusión

ahora tiene un servidor VNC seguro en funcionamiento en su servidor Ubuntu 18.04., Ahora podrá administrar sus archivos, software y configuraciones con una interfaz gráfica fácil de usar y familiar, y podrá 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 *