Use X em uma máquina intermediária

3

EDIT: Eu não configurei meu arquivo sshd_config corretamente na máquina WORK. Mesmo que eu tenha desfeito a linha X11Forwarding no , não percebi que ela dizia "não" ao invés de sim. Como o padrão é "não", presumi, sem prestar muita atenção, que seria X11Forwarding yes depois que eu o descomentei.

Eu tenho uma máquina pública, MIDDLE. Eu tenho outra máquina no trabalho: TRABALHO que eu quero poder acessar do meu computador de casa: HOME.

O HOME pode acessar o MIDDLE e o WORK pode acessar o MIDDLE, mas o MIDDLE não pode acessar nenhuma das máquinas diretamente e o HOME e o WORK não podem acessar um ao outro diretamente.

Eu tenho um servidor SSH em execução no WORK com o X11Forwarding ativado. Se eu configurar um túnel reverso de WORK para MIDDLE e, em seguida, de HOME, faça ssh -X MIDDLE e, em seguida, ssh -X -p <someport> localhost , obtenho X11 forwarding request failed on channel 0 .

Comandos que estou usando para configurar os túneis:

# On machine WORK:
user2@WORK:   $ ssh -R 33333:localhost:22 user1@MIDDLE

# On machine HOME:
user@HOME:    $ ssh -Y user1@MIDDLE
# And then on machine MIDDLE:
 user1@MIDDLE: $ ssh -Y user2@localhost -p 33333

Nota: user1 != user2 .

Existe alguma maneira de conseguir o que eu quero?

    
por mtahmed 15.10.2013 / 20:38

2 respostas

2

você pode tentar usar o "novo" (na verdade não tão novo) sinalizador cmdline -Y . é um substituto melhor para -X . do manual:

     -Y      Enables trusted X11 forwarding.
             Trusted X11 forwardings are not subjected 
              to the X11 SECURITY extension controls.

agora isso não revela muito (pelo menos para o encadeamento). mas um teste rápido mostra que funciona:

   $ ssh -Y localhost   # first connection
   $ ssh -Y localhost   # second connection on top of first connection
   $ xclock

(eu também testei em uma rede real, onde a máquina MIDDLE é definitivamente um servidor sem qualquer X11, então funciona)

    
por 15.10.2013 / 21:10
0

Simples

ssh -Y user1@MIDDLE -p 33333

em CASA deve fazer o truque. Não há necessidade de ssh -Y user2@localhost -p 33333 no MIDDLE.

    
por 15.10.2013 / 22:53