encadeando o encaminhamento de porta ssh tcp

1

Eu preciso conectar-me a um servidor de banco de dados que aceita conexões na porta 1521, só posso acessá-lo de uma máquina remota da qual preciso ssh para outro gateway .

ou seja, de casa

home $ ssh user @ gateway

gateway $ ssh desktop

desktop $ < Agora tenho acesso à porta 1521 no host dbserver >

Quais são os comandos que eu preciso usar para isso, para que eu possa então conectar ao localhost: 1521 no pc de casa para conexões db

    
por Alasdair 08.02.2012 / 13:03

1 resposta

2

Duas maneiras de encadear:

  1. Conecte-se de home ao gateway , encaminhando localhost:1521 em home via gateway para localhost:PORT .

  2. Conecte-se do gateway ao desktop , encaminhando localhost:PORT no gateway via área de trabalho para dbserver:1521 .

home$ ssh -ftL 1521:localhost:PORT gateway ssh -NL PORT:dbserver:1521 desktop

PORT pode ser 1521 ou qualquer outra porta.

  1. Conecte-se de home ao gateway , encaminhando localhost:PORT em home via gateway para desktop:22 .

  2. Conecte-se de home a desktop usando o túnel estabelecido via gateway , encaminhando localhost:1521 em home via área de trabalho para dbserver:1521 .

home$ ssh -fNL PORT:desktop:22 gateway
home$ ssh -fNL 1521:dbserver:1521 -o "HostkeyAlias=desktop" -P PORT localhost
DB connection can be made now

(As opções -fN informam ao SSH para se conectar, estabelecer túneis e continuar executando em segundo plano.)

O segundo método é mais útil, pois permite que você alcance desktop diretamente de home (usando o túnel em execução) para todos os tipos de conexões.

    
por 08.02.2012 / 14:23