Encaminhando X11 por SSH se a configuração do servidor não permitir

8

Considere uma situação em que estou fazendo o login em SSH da máquina A para a máquina B, tenho uma sessão X na máquina A e quero executar um programa X em B.

ssh -X B faz isso funcionar de maneira transparente. Mas e se a configuração do servidor não tiver X11Forwarding yes , não tenho permissões de root no servidor e o administrador do servidor estiver indiferente?

Obviamente, é possível encaminhar a conexão X11, já que posso transferir o que quiser para o canal SSH. De fato, se o servidor X local permitir conexões TCP, será tão fácil quanto ssh -R 6010:localhost:6000 (a ser ajustado para os números de exibição). E quanto ao caso comum em que o servidor X local só permite conexões de soquete? Como faço o X forwarding de maneira conveniente e segura, com um mínimo de requisitos de instalação (especialmente em B)?

    
por Gilles 07.05.2011 / 00:52

2 respostas

1
  1. Aumente um servidor X adicional usando o Xephyr. Isso é por segurança - evita que o sistema remoto comprometa o seu.

  2. Use o SSH para encaminhar um soquete remoto para o soquete Xephyr. O SSH também suporta o encaminhamento de sockets Unix.

  3. Defina as variáveis de ambiente no servidor remoto corretamente.

por 08.09.2018 / 07:16
5

O protocolo X11 fala ao falar com uma porta tcp diferente quando falando com um soquete?

Talvez você possa combinar seu próprio uso sugerido de ssh -R 6010:localhost:6000 para trazer os dados do X11 ao longo do encaminhamento de porta e, em seguida, conectar o gab local entre a porta tcp e o ouvinte de soquete X11 com nc como:

nc -l -p 6000 > /tmp/.X11-unix/X0
    
por 07.05.2011 / 12:02