Usando o ssh para encaminhar as portas localhost da máquina remota

0

Estou tentando executar mysql-workbench em minha máquina local, conectada a uma máquina remota via ssh . Se a máquina remota estivesse escutando na porta 3306, isso seria trivial:

ssh -L 1234:localhost:3306 [email protected]

Isso me permitiria apontar mysql-workbench para localhost:1234 e todo o tráfego seria roteado para example.com:3306 .

No entanto, o banco de dados sobre example.com está apenas ouvindo localhost:3306 . Existe uma maneira de encaminhar example.com:localhost:3306 de volta através de uma porta para minha máquina? Eu tenho os dois nc e ncat disponíveis na máquina local, então eu acho que deveria ser possível configurar um proxy improvisado, eu não sei como .

    
por Barton Chittenden 07.07.2018 / 19:13

2 respostas

0

Sua explicação é um pouco estranha e seu exemplo ainda deve funcionar porque o que você está dizendo é: "quando o tráfego na minha máquina local é direcionado para a porta TCP 1234, envie-o através deste túnel e faça a máquina no outra extremidade envia-a para qualquer endereço IP resolve para localhost na máquina remota e a envia para a porta 3306 da THA machine. Se você tivesse colocado: remote2.example.com: então a máquina 're sshing to iria enviar os pacotes para qualquer remote2.example.com resolvido para. Por exemplo, imagine eu tenho três shells e eu tenho uma máquina local e uma máquina remota:

[@local  1]$ ssh -L8888:localhost:7777 remote
[@remote 2]$ nc -l -s 127.0.0.1 -p 7777
[@local  3]$ echo 'Hello World!' | nc localhost 8888

Tornará a saída do shell @local 1 "Hello World!". Talvez o serviço remoto não esteja realmente escutando em qualquer localhost na máquina remota resolve?

    
por 07.07.2018 / 19:59
0

Não está claro em sua descrição o que está errado e o que você deseja fazer. Uma vez que você pode se conectar ao seu servidor via túnel trivial "ssh", então você pode se conectar à interface de loopback da máquina remota que é localhost: 3306. Os servidores de banco de dados estão ouvindo na interface de loopback por padrão. Tente conectar-se à máquina remota com endereço IP de loopback explícito:

ssh -L 127.0.0.1:1234:127.0.0.1:3306 [email protected]

Deve funcionar sem necessidade no netcat e assim por diante. Se não, então há algo errado com a configuração do servidor de banco de dados.

    
por 10.07.2018 / 19:28