Encaminhe X11 através de dois túneis SSH

3

Para o trabalho, tenho que usar ssh da minha máquina local através da Máquina A para chegar à Máquina B. O problema é que a Máquina A não tem o encaminhamento do X11 e não tenho privilégios de superusuário para mudar isso. Eu tenho privilégios de superusuário na Máquina B e o encaminhamento do X11 está ativado.

Existe uma maneira de encaminhar o X11 de B até A para minha máquina local, sem o redirecionamento X11 ativado em A?

Eu tentei correr      ssh -t -X user@A ssh -X user@B e ssh -t user@A ssh -X user@B mas a Máquina A ainda gera X11 forwarding request failed on channel 0 no login.

    
por frost 22.09.2016 / 17:47

2 respostas

3

adicione isto ao seu ~ .ssh / config:

Host BviaA
  HostName      hostB
  ProxyCommand  ssh user@hostA nc %h %p 2> /dev/null

Então ssh -X user@BviaA deve funcionar

Observe na seção de configuração acima que usei Host BviaA para deixar mais claro o que acontece. Você também pode usar Host hostB para permitir que ele funcione totalmente transparente: ssh -X user@hostB (como se nenhum gateway fosse necessário).

Como alternativa, um teste para testes sem nenhuma alteração de configuração:

ssh -X -oProxyCommand="ssh user@hostA nc %h %p" user@hostB
    
por 22.09.2016 / 18:00
1

Você pode ser capaz de redirecionar a porta através de A. Use

$ ssh -Nf -L2222:B:22 A

para iniciar e colocar em segundo plano um processo ssh que encaminhará de sua máquina local para B até A. Em seguida, conecte-se a B usando

$ ssh -p 2222 -X localhost
    
por 22.09.2016 / 17:52