Túneis SSH: Configuração e casos de uso práticos
Túnel SSH seguro no AlexHost VPS: Um guia abrangente para encaminhamento de porta e acesso seguro
No mundo digital interconectado de hoje, o acesso remoto seguro é essencial para desenvolvedores, administradores de sistemas e profissionais de TI que gerenciam servidores ou aplicativos. O Secure Shell (SSH) é o protocolo de referência para a comunicação encriptada, mas as suas capacidades de tunelamento levam-no para o próximo nível. O túnel SSH permite-lhe encaminhar com segurança o tráfego entre redes, contornar firewalls e aceder a serviços restritos – tudo isto mantendo a encriptação e a privacidade. Quer esteja a aceder a uma base de dados bloqueada, a expor uma aplicação local para teste ou a navegar de forma segura através de Wi-Fi público, os túneis SSH são uma ferramenta versátil para cenários do mundo real.
O que é um túnel SSH?
Um túnel SSH é um método de transmissão de dados arbitrários através de uma ligação SSH encriptada entre dois sistemas. Essencialmente, permite-lhe encaminhar de forma segura o tráfego de rede de uma máquina para outra, criando um túnel através do qual os dados viajam. Os túneis SSH podem ser utilizados de três formas principais
- Encaminhamento de porta local
- Encaminhamento remoto de portas
- Encaminhamento dinâmico de portas
Cada um destes métodos tem os seus casos de utilização específicos, e iremos abordar cada um deles em pormenor abaixo
1. Encaminhamento de porta local
O encaminhamento de porta local é a forma mais comumente usada de tunelamento SSH. Permite-lhe encaminhar o tráfego de uma porta local na sua máquina para um serviço remoto através de uma ligação SSH
Como funciona o Encaminhamento de Porta Local
Quando cria um túnel SSH local, o tráfego enviado para uma porta específica na sua máquina local é encaminhado para o servidor SSH, que o envia para o destino desejado (como uma base de dados ou um servidor Web)
Exemplo de caso de uso: Aceder a uma base de dados remota
Imagine que precisa de aceder a uma base de dados num servidor remoto, mas a porta da base de dados está bloqueada por uma firewall. Em vez de abrir a porta publicamente, pode utilizar o reencaminhamento de porta local para aceder à base de dados de forma segura
Comando para encaminhamento de porta local
ssh -L 5432:localhost:5432 user@remote-serverNeste exemplo
- -L 5432:localhost:5432: Especifica o encaminhamento de porta local. O primeiro 5432 é a porta na sua máquina local, localhost:5432 refere-se à base de dados remota.
- user@remote-server: Liga-se ao servidor SSH remoto.
Agora, pode aceder à base de dados remota a partir da sua máquina local, ligando-se a localhost:5432
2. Encaminhamento de porta remota
O encaminhamento de porta remota permite-lhe encaminhar o tráfego de um servidor remoto para uma máquina local. Isto é útil quando pretende expor um serviço em execução na sua máquina local a um servidor remoto ou aos seus utilizadores
Como funciona o reencaminhamento remoto de portas
Com o reencaminhamento remoto de portas, qualquer tráfego que atinja uma porta especificada na máquina remota será reencaminhado para uma porta na sua máquina local. Esta configuração é frequentemente usada quando é necessário expor um serviço ao servidor remoto que só é acessível na sua rede local
Exemplo de caso de uso: Expondo um aplicativo da Web local a um servidor remoto
Imagine que está a desenvolver uma aplicação Web localmente no seu computador e pretende mostrá-la a um colega num servidor remoto. Em vez de implantar o aplicativo, você pode usar o encaminhamento de porta remoto para permitir o acesso ao seu aplicativo local
Comando para reencaminhamento de porta remota
ssh -R 8080:localhost:3000 user@remote-serverNeste exemplo
- -R 8080:localhost:3000: Especifica o encaminhamento de porta remota. A porta 8080 da máquina remota será encaminhada para localhost:3000 na sua máquina local, onde a aplicação Web está a ser executada.
- user@remote-server: Liga-se ao servidor SSH remoto.
Agora, qualquer pessoa no servidor remoto pode aceder à sua aplicação Web através de http://remote-server:8080
3. Encaminhamento dinâmico de portas
O encaminhamento dinâmico de portas transforma o seu cliente SSH num servidor proxy SOCKS, permitindo-lhe encaminhar o tráfego da sua máquina local através do túnel SSH para qualquer destino. Isto é especialmente útil quando se pretende encapsular todo o tráfego (como a navegação na Web) através de uma ligação segura
Como funciona o encaminhamento dinâmico de portas
Com o encaminhamento dinâmico de porta, o cliente SSH escuta em uma porta local e encaminha todo o tráfego de saída através do servidor SSH. Esta configuração permite-lhe usar o servidor SSH como um proxy para a sua ligação à Internet, contornando firewalls e protegendo o tráfego
Exemplo de caso de uso: Contornando restrições de rede
Imagine que está numa rede Wi-Fi pública e que determinados sites ou serviços estão bloqueados. Pode utilizar o reencaminhamento dinâmico de portas para contornar estas restrições e aceder à Internet de forma segura através do seu servidor SSH
Comando para o reencaminhamento dinâmico de portas
ssh -D 8080 user@remote-serverNeste exemplo
- -D 8080: Especifica o encaminhamento dinâmico de porta. A sua máquina local actuará como um proxy SOCKS na porta 8080.
- user@remote-server: Conecta-se ao servidor SSH remoto.
Quando o túnel estiver ativo, pode configurar o seu browser ou qualquer aplicação para utilizar localhost:8080 como um proxy SOCKS, permitindo-lhe encaminhar de forma segura todo o tráfego através do servidor remoto
Configurando túneis SSH com arquivo de configuração
Se você usa túneis SSH com frequência, pode simplificar o processo criando um arquivo de configuração SSH. O ficheiro de configuração permite-lhe definir atalhos para as suas ligações SSH e definições de reencaminhamento de portas, facilitando a configuração de túneis sem ter de escrever comandos longos de cada vez
Exemplo de ficheiro de configuração SSH
Adicione a seguinte configuração a ~/.ssh/config
Agora, você pode configurar um encaminhamento de porta local para o banco de dados remoto com apenas
ssh remote-dbExemplos práticos de tunelamento SSH
1. Tráfego Web seguro através de um proxy SOCKS
Se estiver a trabalhar num ambiente restrito e precisar de aceder a sites bloqueados, pode configurar o encaminhamento dinâmico de portas para encaminhar todo o seu tráfego através de um servidor SSH seguro
ssh -D 9090 user@ssh-serverEm seguida, configure seu navegador para usar localhost:9090 como um proxy SOCKS
2. Aceder a um serviço interno remoto
Suponha que precisa de aceder a um serviço interno que só está disponível numa rede privada remota. Você pode usar o encaminhamento de porta local para se conectar com segurança a esse serviço a partir de sua máquina local
ssh -L 8080:internal-service:80 user@remote-serverIsto permitir-lhe-á aceder ao serviço interno em http://localhost:8080
3. Expondo um servidor de desenvolvimento local
Se quiser partilhar um servidor de desenvolvimento local com colegas num servidor remoto, utilize o reencaminhamento remoto de portas
ssh -R 4000:localhost:3000 user@remote-serverOs colegas no servidor remoto podem agora aceder à sua aplicação local em http://remote-server:4000
Conclusão: Túnel SSH mestre para acesso seguro no AlexHost VPS
O tunelamento SSH protege o encaminhamento de tráfego para acesso remoto ou navegação. No VPS da AlexHost, aproveite o NVMe para túneis de baixa latência, acesso root para configurações e proteção DDoS para segurança. Comece a criar túneis hoje mesmo!


