Outra questão sobre tunelamento SSH

1

Aqui está o diagrama

Servidor A ---- > Servidor B < ----- Laptop

Então, basicamente, o Servidor A e o Laptop podem se conectar diretamente ao Servidor B, mas não é possível estabelecer uma conexão diretamente do Servidor A para o Computador Portátil; portanto, configuramos um túnel ssh reverso do Servidor A para o Servidor B para que o Laptop possa se conectar ao Servidor A através de uma configuração de túnel pelo Servidor A. Então, agora ssh para o Servidor A do Laptop está resolvido.

Agora, eu tenho uma configuração de aplicativo no Servidor A que eu preciso acessar através da porta 443 no Laptop, como posso fazer isso?

    
por pinoyskull 27.09.2010 / 23:32

3 respostas

2

Um pouco de palpite sobre o que você já tem:

comece com o túnel reverso:

serverA:~ $ ssh -R 22:localhost:10022 serverB

depois do Laptop conecte-se ao serverB também e conecte um encaminhamento local à porta que você definiu no reverso:

laptop:~ $ ssh -L 10023:localhost:10022 serverB

se eu entendi corretamente, algo assim é a parte que você já fez. E agora para a última parte:

conecte-se ao localhost na porta usada no encaminhamento local, isso envia todos os pacotes diretamente para o servidorA, especifique outra porta para que o aplicativo possa se conectar ao servidorA

laptop:~ $ ssh -p 10023 -L 10443:localhost:443 localhost

se o seu aplicativo precisa se conectar ao 443 e não pode usar outra porta como por exemplo 10443 que eu usei no exemplo, você terá que fazer a última conexão como root:

laptop:~ $ su -
laptop:~ # ssh -p 10023 -L 443:localhost:443 user@localhost

ou

laptop:~ $ sudo ssh -p 10023 -L 443:localhost:443 user@localhost

Algumas explicações:

  • "443: localhost: 443" é resolvido no final remoto .... então é realmente serverA
  • "user @" é o usuário necessário para efetuar login no serverA, se não for necessário antes de ser necessário agora, já que você localmente é root agora
  • "localhost" é resolvido localmente, por isso, na verdade, é o Laptop.
por 28.09.2010 / 04:07
1

Se você quiser que a porta -R no servidor B seja acessada do servidor A, é necessário especificar um endereço de conexão no servidor B à esquerda da porta remota. Por exemplo, se B tiver o endereço 1.2.3.4 e você estiver se conectando a partir do laptop:

laptop:~ $ ssh -R 1.2.3.4:10443:127.0.0.1:443 server-b

Isso encaminhará a porta 10443 no servidor-b para 443 no laptop. Se você quiser usar a porta 443, conecte-se ao servidor-b como root.

    
por 27.09.2010 / 23:54
0

Se você tiver acesso SSH ao Servidor A, faça algo como ssh -L 8443: localhost: 443 user @ serverA deve funcionar. Então você pode usar o link para conectar-se.

    
por 27.09.2010 / 23:45