GNU/Linux >> Tutoriales Linux >  >> Linux

Configuración del acceso al servidor VNC en Redhat Linux

La mayor parte del tiempo, como administrador del sistema Linux, administra sus servidores a través de la red. Es muy raro que necesite tener acceso físico a cualquiera de sus servidores administrados. En la mayoría de los casos, todo lo que necesita es SSH de forma remota para realizar sus tareas de administración. En este artículo configuraremos una GUI alternativa a un acceso remoto a su servidor RHEL, que es VNC. VNC le permite abrir una sesión de GUI remota en su servidor y, por lo tanto, le brinda una interfaz gráfica completa accesible desde cualquier ubicación remota.

En este tutorial aprenderás:

  • Cómo instalar los paquetes VNC requeridos
  • Cómo configurar e iniciar el servidor VNC en RHEL
  • Cómo conectarse a una sesión gráfica de forma remota
  • Cómo ejecutar programas gráficos en la sesión xterm

Conexión VNC a RHEL

Instalación y configuración del servidor VNC

Hay muchos administradores de ventanas que podemos usar con el servidor VNC, pero para el propósito de este tutorial configuraremos una sesión simple de xterm, como xterm está en los repositorios base de Red Hat Enterprise Linux. Sin embargo, mostraremos que este simple punto de partida brinda una funcionalidad completa con un simple truco. También tenga en cuenta que existen administradores de ventanas mucho más sofisticados, como xfce , pero eso está fuera del alcance de este tutorial.

  1. Primero, necesitamos instalar los paquetes necesarios para la aplicación del servidor:
    # dnf install tigervnc-server xterm
    
  2. A continuación, debemos abrir el firewall para el servicio. Para verificar qué servicios están permitidos actualmente, enumeramos los servicios habilitados:
    # firewall-cmd --list-services
    cockpit dhcpv6-client ssh
    

    Abra el vnc-server servicio:

    # firewall-cmd --permanent --zone=public --add-service vnc-server
    success
    

    Aplicar el cambio de configuración:

    # firewall-cmd --reload
    

    Y vuelva a enumerar los servicios para verificar:

    # firewall-cmd --list-services
    cockpit dhcpv6-client ssh vnc-server
    
    ADVERTENCIA
    ¡No abra el servicio VNC de su computadora al público! La regla de firewall anterior se ejecuta en un entorno confinado y solo tiene fines de demostración. Asegúrese de comprender los riesgos antes de abrir cualquier cosa en un servidor con acceso a Internet, o incluso en un escritorio.
  3. Necesitamos configurar el entorno donde se ejecutará el servidor. En este ejemplo, nuestro objetivo es ejecutar el servidor con un usuario específico testuser quien no tiene root privilegios Tenga en cuenta que este paso se realiza con el usuario que ejecutará el servidor, no root . Configuramos una contraseña que permitirá la conexión (que no tiene nada que ver con la contraseña del usuario utilizada con ssh ):
    $ vncpasswd 
    Password:
    Verify:
    Would you like to enter a view-only password (y/n)? n
    

    No necesitamos tener inicios de sesión de solo lectura en este ejemplo. Luego editamos el /home/testuser/.vnc/xstartup archivo de texto con un editor de texto como nano . El archivo debe estar vacío después de la instalación, y agregaremos solo un contenido mínimo para iniciar xterm sesión sobre la conexión. Agregamos la siguiente línea al archivo vacío:

    xterm -geometry 1044x810+10+10 &
    

    Ajuste los parámetros de geometría para que se ajusten a su pantalla. Ahora podemos iniciar el servidor:

    $ vncserver 
    
    New 'rhel8beta.lab:1 (testuser)' desktop is rhel8beta.home.hu:1
    
    Starting applications specified in /home/testuser/.vnc/xstartup
    Log file is /home/testuser/.vnc/rhel8beta.lab:1.log
    

    Como sugiere el resultado, podemos seguir los registros proporcionados por el servidor en los archivos de registro en

    /home/<username>/.vnc/<hostname>:1.log

    , este nombre de archivo cambiará si se están ejecutando más de un servidor VNC (al igual que el puerto que necesita para conectarse). El archivo de registro también indica en qué puerto está escuchando el servidor:

    vncext:      Listening for VNC connections on all interface(s), port 5901
    

    Cuál es el puerto VNC predeterminado.

  4. Podemos usar muchos clientes VNC para conectarnos al servidor ahora iniciado. Remmina es un cliente que se envía con los escritorios Gnome recientes de forma predeterminada y puede manejar sesiones SSH, RDP y VNC. Necesitamos proporcionar el nombre de host o la dirección IP del host que ejecuta el servidor VNC, así como el puerto. El siguiente ejemplo usa 192.168.1.14 como dirección y el puerto predeterminado 5901 que encontramos en el archivo de registro del servidor en el paso anterior. Necesitamos seleccionar "VNC" como protocolo al lado del campo de dirección y escribir la contraseña que especificamos con vncpasswd más temprano.

    Conexión a tigervnc con Remmina

    Si todo funciona como se esperaba, estamos conectados al servidor VNC y ejecutando xterm , aceptando y proporcionando contenido del portapapeles, protegido contra fallas en la red. El top El siguiente ejemplo se ejecutará sin interrupciones si nos desconectamos de la sesión y nos volvemos a conectar más tarde.

    Ejecutando top ininterrumpidamente de forma remota
  5. Si bien estos pasos básicamente muestran cómo configurar el servidor VNC y conectarse a él, no tiene mucho sentido ejecutar top en un xterm remoto sesión, como podríamos hacerlo con mucho menos esfuerzo con ssh, y un servidor de sesión como screen . Para ver el poder de una configuración de xterm tan simple, simplemente escriba gedit en la consola xterm remota (suponiendo que esté instalado un escritorio Gnome).

Ejecutar programas gráficos dentro de xterm

Aparece un documento vacío en gedit, tal como lo haría cualquier programa gráfico cuando se inicia desde la línea de comandos. Tenga en cuenta que el documento que se está editando de forma remota y el programa que lo mantiene abierto también están protegidos por la sesión de VNC. Una interrupción de la red no lo afectará, simplemente podemos volver a conectarnos y continuar trabajando en el texto, incluso si nuestra máquina cliente experimenta un error irrecuperable y olvidamos guardar nuestro trabajo durante las últimas horas. Naturalmente, el servidor VNC no protegerá de la falla de la máquina en la que se está ejecutando.

Resolución de problemas

Si obtiene un error de "conexión rechazada", lo más probable es que sea un problema con la configuración de su firewall. Asegúrese de haber configurado el acceso para VNC con los siguientes comandos:

# firewall-cmd --permanent --zone=public --add-service vnc-server
# firewall-cmd --reload

De lo contrario, podría ser un dispositivo entre los dos sistemas el que está bloqueando la conexión, o simplemente un problema de enrutamiento con la red.

Si intenta conectarse al servidor VNC y termina con solo una pantalla negra, es probable que no haya un administrador de ventanas para VNC. En las instrucciones anteriores, mostramos cómo configurar xterm para este propósito. También puede usar un administrador de ventanas con todas las funciones como GNOME o XFCE, pero debe configurar algo. Asegúrese de que xterm esté configurado como administrador de ventanas VNC según las instrucciones anteriores.


Linux
  1. Instalación del navegador Chrome en REDHAT Linux Server/Desktop

  2. Configuración de seguridad IP en IIS

  3. Servidor Linux de administración

  4. Cómo configurar el servidor VNC en Oracle Linux 6

  5. Cómo acceder a Team Foundation Server (TFS) desde Linux

Cómo configurar el servidor de archivos FTP vsftpd en Redhat 7 Linux

Instalar python 3 en Redhat 8

Servidor VNC en Ubuntu 20.04 Focal Fossa Linux

Instalar Velociraptor en Linux

Instale el servidor VNC en Ubuntu 20.04 | 18.04 LTS para acceder a GNOME

Cómo instalar el servidor VNC en Linux Mint 20

    Requisitos de software y convenciones de línea de comandos de Linux
    Categoría Requisitos, convenciones o versión de software utilizada
    Sistema Red Hat Enterprise Linux
    Software TigerVNC
    Otro Acceso privilegiado a su sistema Linux como root o a través de sudo comando.
    Convenciones # – requiere que los comandos de Linux dados se ejecuten con privilegios de root, ya sea directamente como usuario root o mediante el uso de sudo comando
    $ – requiere que los comandos de Linux dados se ejecuten como un usuario normal sin privilegios