Androide

Cómo instalar y configurar vnc en centos 7

Install & Configure TIGER VNC Server in CentOS 7 and RHEL 7

Install & Configure TIGER VNC Server in CentOS 7 and RHEL 7

Tabla de contenido:

Anonim

En este tutorial, lo guiaremos a través de los pasos para instalar y configurar un servidor VNC en un sistema CentOS 7. También le mostraremos cómo conectarse de forma segura al servidor VNC a través de un túnel SSH.

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. linuxize que ha iniciado sesión como un usuario llamado linuxize .

Instalación de Xfce Desktop Environment

Las instalaciones del servidor CentOS a menudo no vienen con un entorno de escritorio instalado, por lo que comenzaremos instalando un entorno de escritorio ligero.

En esta guía instalaremos Xfce. Es un sistema rápido, estable y con pocos recursos, lo que lo hace ideal para su uso en servidores remotos.

Los paquetes Xfce están disponibles en los repositorios EPEL. Si no tiene el repositorio EPEL habilitado en su servidor, puede hacerlo escribiendo:

sudo yum install epel-release

Una vez que se agrega el repositorio, instale Xfce en su CentOS con:

sudo yum groupinstall xfce

Dependiendo de su sistema, la descarga e instalación de los paquetes y dependencias de Xfce puede llevar algún tiempo.

Instalar el servidor VNC

Usaremos TigerVNC como nuestro servidor VNC de elección. TigerVNC es un servidor VNC de código abierto de alto rendimiento y mantenimiento activo.

Escriba el siguiente comando para instalar TigerVNC en su servidor CentOS:

yum install tigervnc-server

Ahora que el servidor VNC está instalado, el siguiente paso es ejecutar el comando vncserver que 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 que la establezca 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 'server2.linuxize.com:1 (linuxize)' desktop at:1 on machine server2.linuxize.com Starting applications specified in /etc/X11/Xvnc-session Log file is /home/linuxize/.vnc/server2.linuxize.com:1.log

La primera vez que se ejecuta el comando vncserver , creará y almacenará el archivo de contraseña en el directorio ~/.vnc que se creará si no está presente.

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

Es importante recordar 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, primero detenga la instancia de VNC utilizando el comando vncserver con una opción -kill y el número del servidor como argumento. En nuestro caso, el servidor se ejecuta en el puerto 5901 ( :1 ), por lo que lo detendremos con:

vncserver -kill:1

Killing Xvnc process ID 2432

Configurar el servidor VNC

Ahora que tanto Xfce como TigerVNC están instalados en nuestro servidor CentOS, el siguiente paso es configurar TigerVNC para usar Xfce. Para hacerlo, abra el siguiente archivo:

nano ~/.vnc/xstartup

Y cambie la última línea de exec /etc/X11/xinit/xinitrc a exec startxfce4 :

~ /.vnc / xstartup

#!/bin/sh unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS exec startxfce4

Guarde y cierre el archivo. El script anterior se ejecutará automáticamente cada vez que inicie o reinicie el servidor TigerVNC.

Aquí hay un ejemplo:

~ /.vnc / config

# securitytypes=vncauth, tlsvnc # desktop=sandbox geometry=1920x1080 # localhost # alwaysshared dpi=96

Crear un archivo de unidad de Systemd

Crearemos un archivo de unidad systemd que nos permitirá iniciar, detener y reiniciar fácilmente el servicio VNC según sea necesario, igual que cualquier otro servicio systemd.

Copie el archivo de la unidad vncserver con el comando cp :

sudo cp /usr/lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service

Abra el archivo con su editor de texto y reemplace con tu nombre de usuario real.

sudo nano /etc/systemd/system/vncserver@\:1.service /etc/systemd/system/vncserver@:1.service

Description=Remote desktop service (VNC) After=syslog.target network.target Type=forking # Clean any existing files in /tmp/.X11-unix environment ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 ||:' ExecStart=/usr/sbin/runuser -l linuxize -c "/usr/bin/vncserver %i" PIDFile=/home/linuxize/.vnc/%H%i.pid ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 ||:' WantedBy=multi-user.target

Guarde y cierre el archivo. Notifique a systemd que creamos un nuevo archivo de unidad con:

sudo systemctl daemon-reload

El siguiente paso es habilitar el archivo de la unidad con el siguiente comando:

sudo systemctl enable vncserver@:1.service

El número 1 después del signo @ define el puerto de pantalla en el que se ejecutará el servicio VNC, en nuestro caso ese es el valor predeterminado 1 y el servidor VNC escuchará en el puerto 5901 como discutimos en la sección anterior.

Inicie el servicio VNC ejecutando:

sudo systemctl start vncserver@:1.service

Verifique que el servicio se haya iniciado correctamente con:

sudo systemctl status vncserver@:1.service

● vncserver@:1.service - Remote desktop service (VNC) Loaded: loaded (/etc/systemd/system/vncserver@:1.service; enabled; vendor preset: disabled) Active: active (running) since Sun 2018-09-16 09:59:53 UTC; 4s ago Process: 6391 ExecStart=/usr/sbin/runuser -l linuxize -c /usr/bin/vncserver %i (code=exited, status=0/SUCCESS) Process: 6389 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 ||: (code=exited, status=0/SUCCESS) Main PID: 6413 (Xvnc) CGroup: /system.slice/system-vncserver.slice/vncserver@:1.service ‣ 6413 /usr/bin/Xvnc:1 -auth /home/linuxize/.Xauthority -desktop server2.linuxize.com:1 (linuxize) -fp catalogue:/etc/X11/fontpath.d -geometry 1024x768 -pn -rfbauth /home/linuxize/.vnc/passwd -rfbport…

Conectando al servidor VNC

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

Configure el túnel SSH en Linux y macOS

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 su nombre de usuario y la dirección IP de su servidor.

Configurar el túnel SSH en Windows

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

Ahora puede comenzar a interactuar con el escritorio XFCE remoto desde su máquina local usando su teclado y mouse.

Conclusión

En este momento, debe tener un servidor VNC en funcionamiento y puede administrar fácilmente su servidor CentOS 7 utilizando una interfaz gráfica.

Para configurar su servidor VNC para iniciar una pantalla para más de un usuario, cree la configuración inicial y configure la contraseña con el comando vncserver y cree un nuevo archivo de servicio con un puerto diferente.

Siéntase libre de dejar un comentario si tiene alguna pregunta.

centos vnc