Para fazer exatamente o que você solicitou ( B:1234=>C:2345
), isso deve ser executado em B
:
# Not recommended. Read along.
ssh -NgL 1.2.3.4:1234:localhost:2345 10.0.0.3
Também requer a abertura da 1234
port em B
firewall. Em seguida, conecte-se a 1.2.3.4:1234
do lado de fora para obter 10.0.0.3:2345
como se estivesse se conectando do C
em si (por meio de sua interface de loopback). Qualquer um pode se conectar, então tenha isso em mente se o servidor em C
(seja qual for o servidor) não está protegido por senha ou algo assim.
Uma maneira mais fácil e segura de ir de A
a C
é a seguinte. Não faz exatamente o que você pediu mas provavelmente é o que você quer. Em A
:
ssh -NL 1234:10.0.0.3:2345 1.2.3.4
Em seguida, conecte-se a 127.0.0.1:1234
on A
para acessar a porta 2345
on C
. C
verá o tráfego vindo de B
. Esta conexão está disponível apenas para A
, então o método é muito mais seguro que o anterior.
Se você quiser permitir que outros computadores (digamos: da LAN em que A
está) se conectem, você deve usar a opção -g
e especificar o endereço de ligação. Por exemplo:
ssh -NgL A_LAN_address_here:1234:10.0.0.3:2345 1.2.3.4
Nesse caso, reconfigure o firewall em A
de acordo e conecte-se a A_LAN_address_here:1234
.