Método do túnel reverso
Você pode SSH de A para B, mas deseja SSH de B para A? Uma solução genérica é criar um túnel SSH reverso . De SERVIDOR:
ssh -f -N -R 4222:localhost:22 CLIENT
Agora você pode usar o SSH para a porta 4222 no CLIENT e efetuar login no servidor. Ative o encaminhamento do X11 nessa conexão.
ssh -p 4222 -X localhost
Método de configuração manual
Como alternativa, você pode configurar o encaminhamento X11 manualmente para a exibição desejada. Se você quiser encaminhar a exibição :20
no CLIENT para exibir :0
no SERVER:
ssh -L 6020:localhost:6000 CLIENT
Os aplicativos só podem usar uma exibição X se eles mostrarem a autorização correta. Isso assume a forma de um “cookie” (valor gerado aleatoriamente que serve como senha). Você precisa recuperar o valor do cookie e executar o comando xauth add :20 MIT-MAGIC-COOKIE-1 …
. Consulte Open uma janela em um display X remoto (por que "Não é possível abrir a tela")? . No seu caso, você pode obter o valor do cookie no SERVER, executando o comando xauth list
em sua sessão X.
Depois de estabelecer o encaminhamento do TCP e definir o valor do cookie, defina export DISPLAY=:20
e execute seu aplicativo.