Noções básicas sobre túneis SSH

15

Eu tenho o servidor linux (Ubuntu) ao qual eu tenho acesso root somente através do ssh (porta 22). Nesse servidor há um banco de dados MySQL escutando na porta 3306. É possível usar massa (na minha máquina) e encapsulamento (na máquina linux) para criar um encapsulamento de uma porta local na minha máquina (digamos 4000), para o servidor linux na porta 22 e depois do servidor para si mesmo na porta 3306?

    
por Muhammad Gelbana 18.10.2012 / 20:03

2 respostas

18

Eu desenhei alguns esboços

A máquina, onde o comando ssh tunnel é digitado (ou no seu caso: Putty com tunelamento é iniciado) é chamado »seu host« .

Introdução

  1. 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: conecte-se com ssh a connectToHost e encaminhe todas as tentativas de conexão para o local sourcePort para a porta onPort na máquina chamada forwardToHost , que pode ser alcançado a partir da máquina connectToHost .

  2. 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: conecte-se com ssh a connectToHost e encaminhe todas as tentativas de conexão para o remoto sourcePort para a porta onPort na máquina chamada forwardToHost , que pode ser alcançado a partir de 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 para o seu servidor Ubuntu, chamado remotehost na minha imagem. As conexões para a porta verde (no seu caso número de porta 4000 ) são encaminhadas para a porta rosa do MySQL 3306 do localhost de sua máquina do servidor Ubuntu (ou seja, o próprio servidor Ubuntu).

Para configurá-lo com o Putty

Inicie o Putty e digite suas configurações normais de conexão (nome do host ou endereço IP) Na árvore do lado esquerdo, navegue para

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, navegue de volta para 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 o login com êxito, toda vez que se conectar à porta 4000 do seu host, você se conectará à porta 3306 no servidor Ubuntu.

    
por 14.03.2014 / 10:31
16

A resposta simples é sim, mas por favor note que o túnel é realmente iniciado em seu computador. A maneira como isso funciona é que você cria uma conexão SSH com o servidor (que é seguro) e instrui o SSH a escutar uma porta ao seu lado e encaminhar quaisquer conexões recebidas - para uma porta específica em um endereço de host específico no servidor. lado do servidor. O destino do túnel não precisa ser o mesmo servidor - pode ser qualquer outro endereço válido, que - no caso de não ser o servidor que executa o próprio servidor SSH - verá a conexão de entrada como se viesse do servidor SSH em vez de do seu cliente.

Para configurá-lo, abra o diálogo de configuração do Putty, selecione a configuração da conexão que você normalmente usa para acessar o seu servidor e clique em "carregar" (e não "abrir"). Em seguida, na árvore do lado esquerdo, navegue até Túneis de Conexão- > SSH- > e crie um novo túnel "local" com a porta de origem 4000 e o destino "localhost: 3306" (porque o endereço de destino é resolvido no servidor, do ponto de vista do servidor, a porta MySQL está no host local). Em seguida, volte para "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 o login com êxito, toda vez que se conectar à porta 4000 em seu computador, você se conectará à porta 3306 no servidor.

Se você estiver sério em túneis e executando um cliente do MS-Windows, sugiro que veja o Túnel de entupimento Manager , que usa o Putty para configurar e executar túneis facilmente, sem a necessidade de ter um console de putty aberto.

    
por 18.10.2012 / 20:18