Encaminhamento X11 e arquivo .Xauthority

Encaminhamento X11 e arquivo .Xauthority

Procurei uma resposta para essa pergunta nas últimas semanas, mas nenhuma das soluções que vi funcionou para mim. Tentei excluir o arquivo .Xauthority em ambos os locais. Eu uso o Cygwin X para acessar outro computador. Recentemente, o encaminhamento do X11 não tem funcionado. Depois de iniciar o servidor X na minha máquina local:

[local]$ export DISPLAY=0.0    
[local]$ ssh -XY user@remotelocation
Warning: No xauth data; using fake authentication data for X11 forwarding.

Não tenho certeza se isso é útil, mas:

[remote]$ xauth list
location/unix:10 MIT-MAGIC-COOKIE-1 304eb389beb66bf44ae6bc1821bdf472

Finalmente, o problema ocorre aqui:

[remote]$ gedit file &
X11 connection refused because of wrong authentication.

Sempre recebi o aviso "sem dados xauth; usando autenticação falsa", mas recentemente a conexão X11 foi recusada como resultado. Você tem alguma sugestão?

Responder1

Tentei excluir o .Xauthorityarquivo em ambos os locais.

Talvez algo tenha dado errado antes disso, mas você certamente não terá sucesso depois disso. Se você encontrou este conselho em algum lugar, e eles não estavam se referindo a alguma circunstância extremamente incomum que não se aplica a você, coloque essa fonte na lista negra. Restaure o .Xauthorityarquivo no cliente.

Se você perdeu o .Xauthorityarquivo, poderá restaurá-lo a partir de um processo em execução ou de um arquivo temporário. Não tenho ideia de como fazer isso com o Cygwin. A maneira simples que funcionará em qualquer lugar é sair do servidor X e iniciar um novo.

Se você receber a mensagem “sem dados xauth; usando autenticação falsa”, os aplicativos remotos não poderão ser exibidos no servidor local, a menos que estejam configurados com a segurança desativada. Sem a segurança do xauth, qualquer pessoa pode espionar sua sessão X e injetar informações se puder acessar o servidor X; dependendo da configuração, eles podem precisar ser usuários locais (nesse caso não é tão ruim em um sistema operacional de usuário único) ou pode ser suficiente que eles possam abrir uma conexão TCP com sua máquina (ou seja, eles são na sua rede local, que pode ser qualquer pessoa se você estiver, por exemplo, usando Wi-Fi público). Se funcionava e não funciona mais, pode ser porque alguma verificação de segurança ausente foi corrigida recentemente.

Depois de ter um .Xauthorityarquivo válido, abra um shell e verifique se você pode executar aplicativos locais, como gedit. A partir desse mesmo shell, execute ssh -X user@remotelocatione tente executar um aplicativo X. Isso funcionará ou você receberá mensagens de erro; leia-os e copie-os e cole-os se pedir ajuda. Se não funcionar, execute ssh -vv -X user@remotelocation; a saída de depuração extra fornecerá algumas informações sobre por que não funciona.

Certifique-se de que o servidor permite conexões X remotas. Com OpenSSH, o arquivo /etc/sshd_config(ou /etc/ssh/sshd_configalgum outro local dependendo da distribuição) deve conter X11Forwarding yes.

informação relacionada