Como efetuar login remotamente com a área de trabalho gráfica completa sobre o X11

4

Eu tenho duas máquinas, ambas rodando o kubuntu: server & cliente. Gostaria de conectar ao servidor do cliente e iniciar a interface gráfica completa sem medo de que alguns comandos sejam executados como usuário do cliente.

Então, ssh -XC funciona e eu também posso iniciar programas gráficos bem.

No entanto, quando eu digito startkde no console do ssh, ele diz "O KDE parece já estar rodando nesta tela." O que é verdade, mas não para a mesma conta de usuário. / p>

Eu tentei sair da interface gráfica e fazer login a partir do tty, mas isso (sem surpresa) falhou ao iniciar qualquer programa gráfico, incluindo o kde.

Como posso fazer isso de forma que eu poderia simplesmente fazer o login assim que eu logar com um usuário local? Use a máquina do cliente como um terminal burro.

    
por velis 02.12.2016 / 09:34

3 respostas

5

O XDMCP foi projetado para isso. No seu servidor, você precisa ativar o suporte a XDMCP em seu gerenciador de área de trabalho:

  • se você estiver usando kdm , procure

    [Xdmcp]
    Enable=false
    

    no final do seu kdmrc , altere false para true e reinicie kdm ;

  • se você estiver usando lightdm , adicione

    [XDMCPServer]
    enabled=true
    port=177
    

    para /etc/lightdm/lightdm.conf e reinicie lightdm .

Em seguida, no seu cliente, inicie o X usando

X -query ${SERVER_IP}

(com o endereço IP apropriado), e a tela de login do seu servidor deve aparecer no seu cliente.

    
por 02.12.2016 / 09:45
2

Você pode ligar o servidor VNC

Configurações > Compartilhamento > Compartilhamento de tela

Em seguida, proxy forward 5900 sobre ssh para o seu pc, se você precisar usar ssh.

ssh -L 5900:localhost:5900 #destination here

use um cliente RD como Remina para conectar-se ao proxy ssh local;

Conectar > 127.0.0.1: 5900

Não deixe de analisar as falhas de segurança do VNC antes de usá-lo. VNC deve ser bastante seguro para usar se o seu tunelamento for sobre o ssh. Este método só funcionará se você tiver um usuário logado. Para fazê-lo funcionar sem um usuário logado, você precisará digitar ssh in, iniciar um servidor VNC e especificar qual display usar I.E. 0, 1, 2 e, em seguida, conecte-se a ele usando Remina ou algo de qualquer lugar.

    
por 02.12.2016 / 09:42
2

Você pode iniciar um gerenciador de janelas em uma sessão SSH, mas é necessário garantir que o servidor X ainda não esteja executando um gerenciador de janelas.

Isso pode ser feito de duas maneiras:

  1. Faça tudo manualmente, em vez de usar startx ou um gerenciador de exibição:

    Primeiro, inicie seu servidor X:

    X -nolisten tcp :0
    

    agora mude para outro console virtual (por exemplo, pressione ctrl + alt + f2) e digite:

    DISPLAY=:0 ssh -XC <host> startkde
    

    Agora volte para o primeiro console virtual e use sua sessão X normalmente. A desvantagem deste método é que ele não inclui xauth setup (para que, em teoria, todos na máquina remota consigam se conectar à sua sessão X, o que é um risco de segurança); você pode querer adicionar isso.

  2. Use os arquivos .xinitrc (para startx) ou .xsession (para gerenciadores de exibição) para modificar seu gerenciador de janelas:

    Se você configurou seu sistema para que SSH sem senha funcione (por exemplo, através de chaves ssh, ou usando Kerberos ou algum outro mecanismo de autenticação), você pode adicionar a seguinte linha como a linha final em .xinitrc ou .xsession files:

    exec ssh -XC <host> startkde
    

    A coisa a lembrar é que o que você adicionar a esses arquivos será executado ao invés de sua configuração normal de sessão X11. Em alguns casos, pode ser necessário selecionar a opção "Xsession padrão" na tela de logon.

    Mesmo que você não tenha SSH sem senha, isso ainda funcionará, desde que você tenha ssh-askpass instalado. Se ssh determinar que não tem um terminal de controle, mas tem uma variável $DISPLAY definida, ele usará isso para solicitar uma senha.

    O lado negativo desse método é que fica mais difícil fazer login na máquina "local".

por 02.12.2016 / 12:43