Como ligar vários túneis SSH juntos no Linux

5

Eu tenho a seguinte situação:

A -----|------ B -----|------ Work

O trabalho pode transformar o SSH em B e o A em SS, mas, além disso, tudo é protegido por firewall. O que eu gostaria de fazer é criar um túnel SSH entre Work e A para que eu possa VNC em Work from A.

Do trabalho, criei um túnel SSH remoto:

ssh -R 5900:localhost:5900 B

Isso significa que posso VNC de B para o trabalho. Mas o que eu preciso fazer para estender isso para A. Eu tentei criar um túnel SSH local de A para B assim:

ssh -L 5901:localhost:5900 B

Mas dá, bind: Cannot assign requested address , como 5900 já foi atribuído.

Alguém tem alguma idéia de como fazer isso?

    
por yoda230 22.12.2012 / 22:07

2 respostas

2

Só para responder à minha pergunta, por algum motivo você precisa forçar o ipv4, ou seja, de A

ssh -4 -L 5901:localhost:5900 B

Isso funciona.

    
por 22.12.2012 / 22:29
0

Não sei se minha resposta será perfeita, mas vou tentar.

A configuração que você está tentando obviamente não funcionará, já que você está encaminhando da porta 5900 em B para o trabalho e também encaminhando a porta 5900 de A para B.

Mas você não pode usar a mesma porta para duas conexões diferentes, é por isso que você está recebendo o erro "bind: Não é possível atribuir o endereço solicitado, como 5900 já foi atribuído."

O que você pode fazer é configurar um encaminhador em B.

Em seguida, tente usar este comando de A:  # ssh -L 5901: localhost: 5901 B

Em seguida, encaminhe o tráfego da porta 5901 para a 5900 e vice-versa na B.

Eu não tenho a configuração e o tempo para testá-lo, mas estou muito curioso para saber se ele funcionará ou não.

Então, peça a você que volte aqui com os resultados depois de ter testado isso.

    
por 22.12.2012 / 22:20