ssh e sudo mas não $ DISPLAY

5

Geralmente faço isso no ssh para obter um aplicativo X usando sudo su

ssh -X server

OKI login

xauth list $DISPLAY

que retorna para mim

server/unix:10  MIT-MAGIC-COOKIE-1  blablablablabla

Então eu faço

sudo su
xauth add server/unix:10  MIT-MAGIC-COOKIE-1  blablablablabla

E depois de executar um aplicativo X ... eu entendi, está correto.

O problema está no Centos7, eu faço

xauth list $DISPLAY

E não retorna nada. Eu tento adicionar cookies mágicos do MIT dados por

xauth list

Mas é claro que não funciona. O normal X-forwarding via ssh, sem sudo funciona.

As configurações do sshd são as mesmas em 3 servidores:

  1. slackware OBRAS
  2. hpux OBRAS
  3. centos7 NÃO TRABALHANDO
por elbarna 07.11.2015 / 01:14

3 respostas

2

Solução encontrada. Um método alternativo copiado deste blog Usando este script

userfirst=sshloginuser
usersecond=sudoorsuuser

$usersecond@host$

    su - $userfirst -c 'xauth list' |\
         grep 'echo $DISPLAY |\
             cut -d ':' -f 2 |\
             cut -d '.' -f 1 |\
             sed -e s/^/:/'  |\
         xargs -n 3 xauth add

Ou simplesmente Registrando como usuário1

xauth list

su ou sudo su user2

xauth add OUTPUTOFXAUTHLIST
    
por 07.11.2015 / 22:45
5

Outra solução é mesclar o arquivo .Xauthority do usuário atual com o do usuário root.

  1. ssh user@host
  2. altere as permissões do arquivo .Xauthority para que o root também tenha acesso a ele.
  3. sudo su - root
  4. xauth merge /home/users/user/.Xauthority

Teste

gedit somefile.log

Deve abrir uma janela do gedit.

    
por 12.04.2017 / 20:06
0

Este pode ser um post antigo, mas resolvi isso permanentemente ligando (no servidor) o meu arquivo usuário sudoer .Xauthority com o root:

sudo ln -s /home/userWithPrivileges/.Xauthority /root/.Xauthority

Dessa forma, não preciso fazer mais nada, agora posso iniciar qualquer aplicativo GUI com ou sem sudo.

    
por 13.07.2018 / 02:48