Posso portar para a frente para um túnel ssh reverso estabelecido

2

Eu tenho três computadores, A, B e C. A iniciou um túnel ssh reverso para B.

ssh  -nTNx -p 443 -R 22222:localhost:22 [user]@[server]

Se eu fizer login em B, posso usar 'ssh -p 22222 localhost' e recebo um prompt de login para A. Se eu tentar 'ssh -p 22222 [IP público de B]', não funciona

O que eu gostaria de poder fazer é ter C conectado a A sem precisar fazer o login no B. Então, do CI poderia 'ssh -p 22222 [IP público de B]' e eu obteria o prompt de login para A .

Estou usando o debian e o shorewall e tenho uma compreensão básica de como as coisas funcionam. Eu tentei várias combinações de regras de REDIRECT e DNAT, mas não tive sorte. Eu tentei usar a mesma porta (22222) e uma porta diferente (encaminhando 22223 de C para 22222 em localhost).

Alguma idéia?

    
por masegaloeh 27.04.2010 / 01:49

2 respostas

3

Veja o "Encaminhamento de porta remota para qualquer pessoa no trabalho!" seção de esta página da Web . O artigo sugere que você deve adicionar o

GatewayPorts yes
Opção

para o seu sshd_config no seu HostB. Isso deve fazer com que o encaminhamento de porta remota no seu HostB escute em todas as suas interfaces de rede.

    
por 27.04.2010 / 03:56
1

Já experimentou o sinal -g no seu comando ssh? É o que diz para permitir que sistemas remotos se conectem a portas locais. Então você faria algo como:

hostB$ ssh -g -L22222:localhost:22 user@hostA

Então, a partir do host C, isso deve funcionar:

hostC$ ssh -p22222 user@hostB
    
por 27.04.2010 / 03:23