Cómo iniciar sesión de forma remota con un escritorio gráfico completo sobre X11

8

Tengo dos máquinas, ambas ejecutando kubuntu: servidor y cliente. Me gustaría conectarme al servidor desde el cliente e iniciar la interfaz gráfica completa sin temor a que algunos comandos se ejecuten como usuarios del cliente.

Entonces, ssh -XCfunciona y también puedo iniciar programas gráficos a partir de eso.

Sin embargo, cuando escribo startkdeen la consola ssh, dice "KDE parece estar ejecutándose en esta pantalla". Lo cual es cierto, pero no para la misma cuenta de usuario.

Intenté salir de la interfaz gráfica e iniciar sesión desde tty, pero luego (como era de esperar) no pude iniciar ningún programa gráfico, incluido kde.

¿Cómo puedo hacer esto para poder simplemente iniciar sesión tal como lo hago con un usuario local? Use la máquina cliente como una terminal tonta.

velis
fuente

Respuestas:

12

XDMCP está diseñado para esto. En su servidor, debe habilitar la compatibilidad con XDMCP en su administrador de escritorio:

  • si estás usando kdm, busca

    [Xdmcp]
    Enable=false
    

    al final de su kdmrc, el cambio falsea truey reinicio kdm;

  • si está usando lightdm, agregue

    [XDMCPServer]
    enabled=true
    port=177
    

    a /etc/lightdm/lightdm.confy reinicio lightdm.

Luego, en su cliente, comience X usando

X -query ${SERVER_IP}

(con la dirección IP adecuada), y la pantalla de inicio de sesión de su servidor debería aparecer en su cliente.

Stephen Kitt
fuente
gracias, exactamente lo que necesitaba. Divertido tío G no lo encontró y tuve que preguntar.
velis
2
Esto funciona, pero XDMCP significa que está utilizando el protocolo X11 simple, que no admite el cifrado. Si eso es un problema, debe buscar otras soluciones
Wouter Verhelst, el
4

Puede encender el servidor VNC

Configuración> Compartir> Compartir pantalla

Luego, envíe el proxy 5900 sobre ssh a su PC si necesita usar ssh.

ssh -L 5900:localhost:5900 #destination here

luego use un cliente de Escritorio remoto (RD) como Remina para conectarse al proxy ssh local;

Conectar> 127.0.0.1:5900

Asegúrese de analizar las fallas de seguridad de VNC antes de usarlo. VNC debería ser bastante seguro de usar si lo está haciendo un túnel sobre ssh. Este método solo funcionará si tiene un usuario conectado. Para que funcione sin que un usuario haya iniciado sesión, deberá ingresar, iniciar un servidor VNC y especificar qué pantalla usar IE 0, 1, 2 y luego conéctese usando Remina o algo de donde sea.

enconn
fuente
He instalado x11vnc en ubuntu. Entonces, si ningún usuario ha iniciado sesión en el sistema, entonces el comando para iniciar x11vnc ¿ x11vnc displaynumber:1es correcto?
ART
3

Puede iniciar un administrador de ventanas en una sesión SSH, pero debe asegurarse de que su servidor X no esté ejecutando un administrador de ventanas en ese momento.

Esto se puede lograr de dos maneras:

  1. Haga todo manualmente, en lugar de usar startxo un administrador de pantalla:

    Primero, inicie su servidor X:

    X -nolisten tcp :0
    

    ahora cambie a otra consola virtual (por ejemplo, presione ctrl + alt + f2) y escriba:

    DISPLAY=:0 ssh -XC <host> startkde
    

    Ahora vuelva a la primera consola virtual y use su sesión X normalmente. La desventaja de este método es que no incluye la xauthconfiguración (por lo que, en teoría, todos en la máquina remota podrán conectarse a su sesión X, lo cual es un riesgo de seguridad); es posible que desee agregar eso.

  2. Use los archivos .xinitrc(para startx) o .xsession(para administradores de visualización) para modificar su administrador de ventanas:

    Si ha configurado el sistema para trabajos SSH sin contraseña, (por ejemplo, a través de las claves ssh, o mediante el uso de Kerberos o algún otro mecanismo de autenticación), se puede añadir la siguiente línea como la línea final en sus .xinitrco .xsessionarchivos:

    exec ssh -XC <host> startkde
    

    Lo que debe recordar es que lo que agregue a esos archivos se ejecutará en lugar de su configuración de sesión X11 normal. En algunos casos, es posible que deba seleccionar la opción "Xsession estándar" en la pantalla de inicio de sesión.

    Incluso si no tiene SSH sin contraseña, esto puede funcionar, siempre que lo haya ssh-askpassinstalado. Si sshdetermina que no tiene un terminal de control sino que lo hace tener un $DISPLAYconjunto de variables, será el uso que para pedir una contraseña.

    La desventaja de este método es que es más difícil iniciar sesión en la máquina "local".

Wouter Verhelst
fuente