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

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

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 Arch Linux -> Roteador SSH OpenBSD (em casa) -> Computador doméstico Arch Linux (com SSH)

Na verdade, nunca tentei fazer isso e não tenho certeza de como fazer. Como eu faria isso funcionar?

Quando eu apenas tento fazer

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

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

Como faço isso corretamente?

EDIT: esqueci de ativar o encaminhamento de X no sshd do meu computador doméstico. Corrigi isso agora, mas nada parece acontecer quando executo um comando simples como xterm. Ele simplesmente fica lá, provavelmente tentando exibir a janela do xterm no meu roteador e não no meu computador de trabalho

Responder1

Que tal encaminhar uma porta do seu computador de trabalho para a porta 22 do seu computador doméstico e depois ssh -Ypara essa porta local?

Por exemplo,

ssh -L 2222:private-ip:22 router-ip
ssh -Y localhost:2222

Responder2

O que você fez deve funcionar, mas você precisa ter o xauthprograma instalado no roteador para que ele possa criar uma chave de segurança para o display virtual X11 criado pelo SSH. Você precisa xauthde qualquer máquina que você ssh -Xqueira 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 $DISPLAYvariável. Deveria ser algo parecido localhost:10. Caso contrário, volte ao shell do roteador e verifique $DISPLAYlá.

informação relacionada