Eu desenhei alguns esboços
A máquina em que o comando ssh tunnel é digitado (ou no seu caso: Putty com tunelamento é iniciada) é chamada »seu host« .
Introdução
local: -L Specifies that the given port on the local (client) host is to be forwarded to the given host and port on the remote side.
ssh -L sourcePort:forwardToHost:onPort connectToHost
significa: conectar com ssh ae connectToHost
encaminhar todas as tentativas de conexão para o local sourcePort
a porta onPort
na máquina chamada forwardToHost
, que pode ser acessada a partir da connectToHost
máquina.
controlo remoto: -R Specifies that the given port on the remote (server) host is to be forwarded to the given host and port on the local side.
ssh -R sourcePort:forwardToHost:onPort connectToHost
significa: conectar com ssh connectToHost
e encaminhar todas as tentativas de conexão para o controle remoto sourcePort
na porta onPort
da máquina chamada forwardToHost
, que pode ser acessada a partir da sua máquina local.
Seu exemplo
A primeira imagem representa sua situação. A caixa azul chamada your host
é a sua máquina Windows a partir da qual você inicia o Putty no servidor Ubuntu, chamado remotehost
na minha imagem. Conexões à porta verde (no seu número de porta caso 4000
) são encaminhadas para a porta MySQL rosa 3306
do localhost
da sua máquina servidor Ubuntu (ou seja, o servidor Ubuntu em si).
Para configurá-lo com o Putty
Inicie o Putty e insira as configurações de conexão usuais (nome do host ou endereço IP). Na árvore do lado esquerdo, navegue até
Conexão → SSH → Túneis
e crie um novo túnel local com a porta de origem 4000
(123 na imagem) e o destino localhost:3306
(localhost: 456 na imagem).
Não se esqueça de clicar em Adicionar .
Em seguida, volte à sessão e clique em Salvar para manter suas configurações para a próxima vez. Agora você pode usar a conexão salva para efetuar login no seu servidor e depois de efetuar login com êxito, toda vez que se conectar à porta 4000 em seu host, você realmente se conectará à porta 3306 no servidor Ubuntu.