Xforwarding não permite trocar usuários

7

Eu sou ssh'd em um computador remoto e xforwarding está funcionando bem ... mas assim que eu "sudo su -" ou "sudo su user2" ele não Xforwards mais nada me dando o erro:

X11 connection rejected because of wrong authentication.
xterm Xt error: Can't open display: localhost:10.0

Alguma idéia?

Obrigado

    
por Jarvin 15.04.2010 / 02:45

5 respostas

6

  1. Ativar o encaminhamento X-11 no seu cliente
  2. Faça login como usuário normal
  3. echo $DISPLAY para obter a exibição associada
  4. xauth list , encontre o número de exibição que corresponde ao que você encontrou no item 3 e copie-o
  5. Sudo para root xauth add <paste in what you copied from #4>
  6. Agora você pode executar comandos como root e poderá se conectar ao X11 Forwarding
por 01.04.2011 / 12:04
4

Antes de você sudo , faça isso:

$ xauth extract /tmp/xauthstuff $DISPLAY

Depois de você sudo , faça isso:

# xauth merge /tmp/xauthstuff

Isso funciona para você?

PS lembre-se de rm /tmp/xauthstuff depois

    
por 07.05.2010 / 17:01
3

Eu não tenho acesso a uma conta root para fazer as opções acima, então aqui está um trabalho que eu usei.

Primeiro, ssh na sua conta como você faz normalmente e teste tudo está funcionando.

ssh -Y <you>@<your_server>

Normalmente, inicio um XTerm para garantir a conectividade. Se estiver tudo bem, copie o arquivo .XAuthority que está no diretório home <you> e coloque-o em um diretório público.

cp ~/.Xauthority /tmp/tempXAuth

Certifique-se de chmod 777 nesse arquivo no diretório público para que a conta sudo possa usá-lo na etapa posterior.

chmod 777 /tmp/tempXAuth

agora sudo para o usuário que você precisa para trabalhar como

sudo su - <other_user>

uma vez que você é <other_user> , faça o backup da Autoridade X existente e copie a "boa".

cp ~/.Xauthority ~/.Xauthority.bak
cp /tmp/tempXAuth ~/.Xauthority

você deve ser capaz de executar qualquer programa X e autenticá-lo com sua sessão atual do XServer.

    
por 03.06.2016 / 22:15
2

Antes de você sudo su user2 verificar as permissões no seu $ XAUTHORITY:
echo $XAUTHORITY
ls -l $XAUTHORITY


Se, depois de mudar de usuário, você ainda referenciar o mesmo $ XAUTHORITY, mas tiver perdido as permissões para o arquivo, isso interromperá o encaminhamento do X11.
No meu caso, uma solução rápida foi ajustar as permissões de arquivo no arquivo $ XAUTHORITY antes de trocar de usuário.

Lembre-se de que, se os usuários não confiáveis tiverem acesso ao seu arquivo $ XAUTHORITY, isso pode ser um problema de segurança.

    
por 20.12.2012 / 05:44
1

Como o usuário que você normalmente faz login como tipo:

cd

sudo cp .Xauthority /root/

Depois, você pode alternar para o root usando:

sudo su
    
por 30.11.2014 / 05:49