SSH como proxy de socks através de múltiplos hosts

18

O seguinte pode ser alcançado com o SSH.

Existem três máquinas envolvidas:

A. My local machine at home
B. The SSH gateway server at school
C. A workstation in a lab, only reachable through B

Eu quero configurar um proxy SOCKS. Eu quero poder navegar no meu computador local em casa, como se estivesse no laboratório. Isso se deve a alguns sites que só podem ser acessados pelo ip público da escola.

Portanto, quero executar um proxy SOCKS no host C. Mas não consigo fazer isso funcionar no host A.

Eu conecto ao gateway e do gateway eu conecto à estação de trabalho. Mas não consigo fazer o gateway transferir o tráfego corretamente de e para o proxy.

Como posso fazer isso?

    
por Sébastien 07.09.2011 / 14:02

2 respostas

26

Três métodos ligeiramente diferentes. (Substitua $ PORTX e $ PORTY por números de porta de sua escolha.)

Primeiro método: ProxyCommand

machine-a$ ssh -f -N -D $PORT -oProxyCommand="ssh -W %h:%p machine-b" machine-c

Segundo método:

  1. Conecte-se de A a B, com "encaminhamento local" de $PORT a localhost:$PORT .

    machine-a$ ssh -L $PORT:localhost:$PORT machine-b
    
  2. Conecte-se de B a C, com o "encaminhamento dinâmico" ativado.

    machine-b$ ssh -f -N -D $PORT machine-c
    
  3. Configure seu navegador para usar o proxy em localhost:$PORT .

Os passos 1 e 2 podem ser resumidos para:

ssh -f -L $PORT:localhost:$PORT machine-b "ssh -f -N -D $PORT machine-c"

Terceiro método:

  1. Conecte-se de A a B, com "encaminhamento local" de $PORTX a machine-c:22 .

    machine-a$ ssh -f -N -L $PORTX:machine-c:22 machine-b
    
  2. Conecte-se de A a C ao longo do túnel, com "encaminhamento dinâmico".

    machine-a$ ssh -f -N -D $PORTY localhost -p $PORTX
    

    (Você pode omitir -f -N se quiser usar o mesmo túnel para conexões interativas também).

  3. Configure seu navegador para usar o proxy em localhost:$PORTY .

por 07.09.2011 / 14:25
1

Para o AWS EMR Sock Proxy, abaixo estão as etapas aplicadas. Assumindo que temos dois cenários de salto como abaixo

[your-laptop] --<ssh key1>--> [Jump-Box] --<ssh key2>--> [EMR-Master]

Você já configurou o FoxyProxy seu navegador. Ative-o antes de iniciar o antes de iniciar os passos.

Etapa 1. Faça o login no Jump Box

ssh -i ~/.ssh/key1 ec2-user@

Etapa 2. Configure o túnel dinâmico na caixa Jump, supondo que Key2 esteja presente lá.

ssh -i ~/key2 -N -D 8157 hadoop@

Etapa 3. Abra um novo console no cliente ssh e configure o túnel.

ssh -i ~/.ssh/key1 -L 8157:localhost:8157 ec2-user@ -N

    
por 14.09.2018 / 04:18