Em qual servidor devo executar o comando de encaminhamento de porta ssh?

1

Eu tenho um Macbook A , um servidor público B(public IP: 1.2.3.4, internal IP: 10.0.0.2) , um servidor interno C(internal IP: 10.0.0.3)

A pode se conectar a B pelo IP público de B e B pode se conectar a C pelo IP privado de C, mas A não pode se conectar diretamente a C

Agora quero me conectar a C:2345 de A , então acho que posso fazer o encaminhamento de porta em B:1234=>C:2345 ?

Qual comando devo executar e em qual servidor devo executar?

Eu tentei:

ssh -NfR 1234:localhost:2345 10.0.0.3
ssh -L 1234:0.0.0.0:2345 10.0.0.3

Nem funciona.

    
por Sato 22.06.2017 / 06:13

2 respostas

1

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 .

    
por 22.06.2017 / 07:16
0

No Mac, primeiro você faz

ssh -L2345:10.0.0.3:2345 10.0.0.2

Isto abre uma porta local 2345 no seu Mac que é uma conexão direta com: 2345 em 10.0.0.3

Você acessa 127.0.0.1:2345 no seu Mac. Qualquer coisa que vá para esta porta será tunnelled por ssh e vá para 10.0.0.3:2345 . Para esse servidor, ele parecerá estar vindo de 10.0.0.2 .

    
por 22.06.2017 / 06:44