Xforwarding não permite troca de usuários

Xforwarding não permite troca de usuários

Estou conectado a um computador remoto e o xforwarding está funcionando bem ... mas assim que eu "sudo su -" ou "sudo su user2" ele não envia mais nada ao Xforwards me dando o erro:

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

Alguma ideia?

Obrigado

Responder1

  1. Habilite o encaminhamento X-11 em seu cliente
  2. Faça login como seu usuário normal
  3. echo $DISPLAYpara 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 fazer rootxauth add <paste in what you copied from #4>
  6. Agora você pode executar comandos como root e poderá ver a conexão X11 Forwarding

Responder2

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/xauthstuffdepois

Responder3

Não tenho acesso à conta root para fazer nenhuma das opções acima, então aqui está uma solução alternativa que usei.

Primeiro, faça ssh para sua conta como você faz normalmente e teste se tudo está funcionando.

ssh -Y <you>@<your_server>

Normalmente, apenas aciono um XTerm para garantir que tenho conectividade. Se tudo estiver bem, copie o arquivo .XAuthority que está no <you>diretório inicial 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 trabalhar como

sudo su - <other_user>

quando estiver <other_user>, faça backup do .Xauthority existente e copie o "bom".

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.

Responder4

Como o usuário com quem você normalmente faz login, digite:

cd

sudo cp .Xauthority /root/

Então você pode mudar para root usando:

sudo su

informação relacionada