Como encaminhar o X através de dois túneis SSH?

1

Estou tentando executar um programa X no meu computador doméstico a partir do meu computador de trabalho. A configuração básica é esta:

Computador de trabalho do Arch Linux - > Roteador SSH OpenBSD (em casa) - > Computador Doméstico Arch Linux (com SSH)

Eu nunca tentei fazer isso e não sei bem como fazer isso. Como eu faria isso funcionar?

Quando eu apenas tento fazer

$(work computer) ssh -Y home-ip
..
$(home router) ssh -Y private-ip

Eu entro no último túnel "Falha na solicitação de encaminhamento do X11 no canal 0"

Como faço isso corretamente?

EDIT: Esqueci de ativar o encaminhamento do X no sshd do meu computador doméstico. Eu consertei isso agora, mas nada parece acontecer quando eu faço um comando simples como xterm . Ele apenas fica lá, presumivelmente tentando exibir a janela xterm no meu roteador e não no meu computador de trabalho

    
por Earlz 23.01.2012 / 20:54

2 respostas

4

Que tal encaminhar uma porta em seu computador de trabalho para a porta 22 de seu computador doméstico e, em seguida, ssh -Y para essa porta local?

Por exemplo,

ssh -L 2222:private-ip:22 router-ip
ssh -Y localhost:2222
    
por 23.01.2012 / 21:02
2

O que você fez deve funcionar, mas você precisa ter o programa xauth instalado no roteador para que ele possa criar uma chave de segurança para o monitor virtual X11 que o SSH cria. Você precisa de xauth em qualquer máquina em que você ssh -X ou ssh -Y , mesmo que você não execute nenhum aplicativo X lá, mas apenas use-o como um passo em direção a outro lugar.

Depois de se conectar ao computador doméstico, verifique sua variável $DISPLAY . Deve ser algo como localhost:10 . Se não, volte para o seu shell no roteador e verifique $DISPLAY .

    
por 23.01.2012 / 22:09