SSH Tunneling - Casos de uso locais e remotos

2

Acabei de aprender o básico sobre o tunelamento SSH no googling.

Eu vi essa pergunta interessante: Como o trabalho de tunelamento SSH reverso funciona?

Mas ainda acho um pouco confuso, mais especificamente na parte [email protected].

Então, em uma das respostas, há quatro casos de uso. Aqui está como eu os entendo. Por favor me corrija se eu estiver errado. Para simplificar, assumirei que estou executando os comandos ssh em minha máquina local.

  1. ssh -L 123:localhost:456 [email protected]

    • Isso encaminhará todo o tráfego da porta 123 em minha máquina local para a porta 456 em example.com. Mas example.com veria o tráfego proveniente de seu próprio host local.
  2. ssh -L 123:google.com:456 [email protected]

    • Isso encaminhará todo o tráfego da porta 123 na minha máquina local para a porta 456 no google.com. Depois disso, estabelecerá uma sessão ssh para example.com. Isso não faz sentido para mim, por que precisamos de [email protected] neste caso?
  3. ssh -R 123:localhost:456 [email protected]

    • Isso estabelecerá uma sessão ssh para [email protected] e encaminhará todo o tráfego da porta 123 em example.com para a porta 456 em minha máquina local. Minha máquina local verá o tráfego como proveniente do host local.
  4. ssh -R 123:google.com:456 [email protected]

    • Isso estabelecerá uma sessão ssh para [email protected] e encaminhará todo o tráfego da porta 123 em example.com para a porta 456 em google.com. Ao contrário de # 2, example.com é usado como host remoto.

Então, minha pergunta é: por que precisamos de [email protected] em # 2? E eu entendi algo errado?

UPDATE

Ok, acho que entendi agora. Eu entendi mal sobre a parte [email protected] e achei que era opcional. Parece que a sessão ssh está sendo estabelecida primeiro, depois a porta: host: port é avaliada posteriormente.

por exemplo: para o nº 2, estabeleceria a sessão para example.com primeiro e depois encaminharia o tráfego para google.com:456. Para o número 1, estabeleceria a sessão para example.com primeiro e depois encaminharia o tráfego para localhost: 456 (que é o mesmo host)

    
por gerald 17.08.2015 / 12:40

1 resposta

3

O segundo caso é muito útil na situação em que example.com pode se conectar ao host [google.com] enquanto sua caixa não pode. Por exemplo, você tem uma conexão VPN restrita a várias caixas, enquanto você deseja acessar o host que não está na lista. ssh -L 123: target.host.com: 456 [email protected].

Portanto, o uso básico é pular dentro da rede ou pular FORA da rede (ssh para algum tipo de proxy / gateway).

E, finalmente, pode haver restrições de firewall no servidor de destino que aceita conexões somente de determinados hosts.

    
por 17.08.2015 / 14:01