Conecte o PC_A (com um IP privado) ao PC_B (com um IP privado) usando / através do PC_C (com um IP público) usando o SSH

0

Basicamente

Eu tenho um cliente rodando em um PC_A (PC_A está conectado em uma LAN, portanto, tendo um IP privado )

Eu tenho um servidor em execução em um PC_B (PC_B está conectado em uma LAN, portanto, tendo um IP privado )

== > Eu quero fazer uma conexão entre PC_A e PC_B , que não posso diretamente, pois eles têm IPs privados.

Eu pensei em usar o tunelamento através do SSH usando um terceiro PC_C , com um conhecido IP público , para atuar como uma ponte ou um relé para conectar ambos sob TCP .

Você poderia, por favor, explicar a configuração do SSH e as linhas de comando que eu deveria executar em cada máquina, por favor?

A propósito, estou usando plataformas Windows.

Agradecemos antecipadamente:)

    
por Centaure 24.01.2018 / 22:38

1 resposta

0

Você precisa de um terceiro servidor que possa ser acessado pelo ssh a partir do PC_A e que, por sua vez, possa alcançar o PC_B; vamos chamá-lo PC_G (para Gateway).

Em seu $ HOME / .ssh / config no PC_A, coloque isto:

Host PC_B
  ProxyCommand ssh PC_G nc -w 120 PC_B 22

Agora, se você executar ssh PC_B no PC_A, o ssh pesquisará a configuração de PC_B e verá que o comando de proxy especificado deve ser executado. Portanto, ele executa ssh PC_G nc -w 120 PC_B 22 , que inicia o comando nc -w 120 PC_B 22 no PC_G. Este é o comando netcat , abrindo uma conexão com a porta 22 do PC_B (a porta ssh). Agora o ssh local pode se conectar através deste túnel ao cliente ssh no PC_B.

    
por 26.01.2018 / 16:25