XForwarding de repente pára de funcionar


1

Eu uso Cygwin / X para ssh em um servidor Ubuntu hospedado pelo VirtualBox que teve os vários X bits e peças instalados:

ssh -X user@IPADDRESS

Uma vez dentro, posso correr gnome-terminal e o terminal aparece. Uma vez lá, posso abrir novas abas, correr geany (um editor de texto como o GEdit) e assim por diante, e tudo funciona, as janelas abrem e tudo está bem.

Então, em algum momento, algo acontece e eu não consigo abrir nenhum aplicativo novo que faça uso do X. Os aplicativos existentes funcionam bem, mas qualquer coisa nova reclamará que não é possível abrir a tela. por exemplo:

user@SERVER:/mnt/smb$ geany
Geany: cannot open display

Eu pensar isso começa a acontecer depois que eu uso o sudo para executar um comando como:

sudo apt-get install XXXX

Depois que o problema começar, o DISPLAY variável de ambiente é a mesma que era antes.

A única outra informação que pode ser útil é que, ao fazer o login pela primeira vez na máquina, o seguinte aparece imediatamente após a autenticação:

Warning: untrusted X11 forwarding setup failed: xauth key data not generated
Warning: No xauth data; using fake authentication data for X11 forwarding.

Alguma ideia?

Respostas:


0

Algumas ideias:

  1. Tente invocar o ssh como ssh -Y, o que quer dizer que você confia na máquina para a qual você está se dedicando. Isso pode ter como efeito apenas a remoção do primeiro aviso, mas vale a pena tentar.
  2. Garantir que nenhuma comunicação seja bloqueada por um firewall
  3. Certifique-se de que o servidor remoto não tenha a extensão XC-SECURITY ativada (a opção SEGURANÇA aparece na saída do xdpyinfo).
  4. Usar ssh -vvv para mais informações.

Ao instalar o x11tools para ter acesso a xdpyinfo, este problema parece ter ido embora :) Se você tiver alguma informação sobre o porquê, eu estaria muito interessado.
Rich

Obrigado pela recompensa, mesmo se isso fosse realmente uma correção para canhotos. Eu acho que a razão pela qual funciona é uma dependência não declarada.
harrymc

0

sudo limpa seu monitor.

A documentação do sudo recomenda usar "pam_env" no meio de uma sessão para restaurar o ambiente de login - o problema é que não pode. Somente no login inicial são coisas como REMOTE_HOST e DISPLAY disponível para pam_env para que possa incorporar os valores corretos em seu ambiente. Mais tarde, chamar o pam_env novamente irá garantir valores são ZEROed , (mesmo que configurado seu arquivo sudoers para não reinicializar o ambiente). Ou seja por causa da má informação de segurança dada no sudo docs, o DISPLAY provavelmente será apagado não importa o quê.

Para consertar isso, você tem que desfazer a configuração de configuração incorreta pela sua distro (que seguiu o conselho do sudo), assim como configurar o sudo para não jogar no seu env. Ainda assim. Se houver funções nas quais você confiou em seu ambiente (eu tenho um para determinar se estou no cygwin ou não - use os mesmos shells de inicialização em ambos) - eles são apagados. Assim, qualquer informação de segurança e configuração mantida em funções, porque isso é mais conveniente ou útil, será apagado pelo sudo.

Em resumo. O sudo precisa ser consertado ou substituído.

Recompensas ruins são forçadas a serem fechadas antes que as respostas corretas cheguem. Mas é melhor ter respostas corretas aqui do que não.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.