Guia de tecnologias

Roteie tráfego Android por túnel SSH seguro

12 min read Segurança Atualizado 07 Oct 2025
Roteie tráfego Android por túnel SSH seguro
Roteie tráfego Android por túnel SSH seguro

Como rotear todo o tráfego Android por um túnel seguro

Links Rápidos

  • O que você vai precisar

  • Baixando e configurando o SSH Tunnel para Android

  • Testando a conexão do túnel SSH

  • Solução de problemas e quando falha

  • Alternativas e considerações de segurança

Antes de entrar no passo a passo, um breve contexto: túnel SSH é uma forma prática de criar um canal criptografado entre seu celular e um servidor remoto (por exemplo, o SSH na sua rede doméstica). Isso protege seu tráfego contra interceptação entre o provedor de celular ou redes Wi‑Fi públicas e o servidor que faz a saída para a Internet.

Se você ainda não sabe o que é SSH: SSH (Secure Shell) é um protocolo para acesso remoto seguro e tunelamento de tráfego. Em uma linha: SSH cria um canal criptografado entre cliente e servidor.

O que você vai precisar

  • Um celular Android com acesso root (Android 1.6 ou superior). O root é necessário para redirecionar o tráfego do sistema.
  • O aplicativo gratuito SSH Tunnel for Android (ou o APK, se não conseguir acessar a Google Play).
  • Um servidor SSH acessível pela Internet (pode ser um servidor remoto, VPS ou um roteador residencial com SSH configurado).
  • Credenciais SSH (usuário e senha) ou, preferencialmente, um par de chaves autorizado (private key). Conhecimento básico de SSH e de como transferir arquivos para o dispositivo Android (via USB, ADB ou cartão SD).

Importante: se você não tem root, veja a seção Alternativas mais abaixo. Se não está seguro sobre chaves SSH, leia a seção sobre geração e uso de chaves.

Baixando e configurando o SSH Tunnel para Android

Tela inicial do SSH Tunnel mostrando a interface principal do app

  1. Obtenha o app: baixe SSH Tunnel for Android pela Google Play ou instale o APK se necessário.
  2. Abra o app. Na primeira execução, não ative o túnel ainda (não marque o interruptor principal). Vá para as configurações do aplicativo.

Tela de configuração do SSH Tunnel com campos de servidor e autenticação

  1. Na seção de configurações SSH Tunnel, informe:

    • Host: o endereço IP público ou hostname do seu servidor SSH.
    • Porta: porta do SSH (padrão 22). Só altere se seu servidor usar porta diferente.
    • Nome de usuário e senha: credenciais do usuário SSH.
  2. Autenticação por chave (recomendado): se usar chave privada (.ppk), copie o arquivo para /sdcard/sshtunnel/key/ no seu dispositivo. Em seguida, no app pressione o menu e abra Key File Manager.

Gerenciador de arquivos de chaves no SSH Tunnel mostrando diretório /sshtunnel/key/

  1. No Key File Manager navegue até /sshtunnel/key/ e selecione o arquivo .ppk que corresponde ao servidor (ex.: HomeRouter.ppk). Se gerar várias chaves, nomeie-as de forma descritiva para facilitar.

Observação: a troca entre autenticação por senha e por chave é geralmente feita no servidor SSH (arquivo de configuração do servidor ou gerenciador de contas), não no app do celular.

  1. Habilite o proxy SOCKS interno: na seção Port Forwarding, marque “Use socks proxy”. O app cria um servidor SOCKS local no dispositivo que redireciona conexões via SSH.

Opções de encaminhamento de porta e proxy SOCKS no app

  1. Decidir o escopo do roteamento:
    • Global Proxy: roteia TODO o tráfego do dispositivo pelo túnel SSH (recomendado se seu objetivo for proteger todas as conexões). Marque “Global Proxy”.
    • Individual Proxy: roteia apenas aplicativos selecionados. Marque “Individual Proxy” e selecione os apps desejados (navegador, redes sociais etc.).

Lista de apps para redirecionamento individual mostrando apps marcados

  1. Configurações de recurso: reveja e ajuste conforme sua necessidade:
    • Auto Connect: permite que o app se conecte automaticamente quando o servidor estiver disponível.
    • Auto Reconnect: reestabelece a conexão caso ela caia.
    • Enable GFW List: recurso específico para contornar filtros do tipo “Great Firewall” — geralmente não é necessário fora desses ambientes.
    • Enable DNS Proxy: marque por padrão. Direciona consultas DNS pelo túnel; se desmarcar, o DNS pode vazar para a rede do provedor.

Importante: deixar “Enable DNS Proxy” marcado reduz vazamentos de informação sobre quais nomes de domínio você consulta.

Gerando e instalando chaves SSH (resumo rápido)

Se optar por usar chaves, o processo básico é:

  • Gere um par de chaves no seu computador: ssh-keygen -t rsa -b 4096 (Linux/macOS) ou use PuTTYgen para .ppk (Windows).
  • Copie a chave pública para o servidor (adicionar ao ~/.ssh/authorized_keys do usuário SSH).
  • Converta/obtenha a chave privada em formato .ppk se o app precisar desse formato (PuTTY uses .ppk). Coloque o arquivo .ppk em /sdcard/sshtunnel/key/.

Se não souber como, procure guias de “gerar chaves SSH” para o seu sistema operacional.

Testando a conexão do túnel SSH

  1. Verifique seu IP público móvel antes do túnel: no navegador do dispositivo pesquise “qual é o meu ip”. Anote o endereço mostrado — ele é o IP da sua conexão celular.

Resultado de pesquisa mostrando o IP público do dispositivo antes do túnel

  1. Abra o SSH Tunnel e ative o interruptor principal (Tunnel Switch). Na primeira vez o SuperUser/root pedirá permissão — permita e marque “Lembrar” para evitar repetidas solicitações.

  2. Aguarde a conexão; o app notificará se foi bem-sucedido. Você também verá um ícone/entrada na barra de notificações indicando que o túnel está ativo.

Notificação de túnel SSH ativo na área de notificações do Android

  1. Refaça a busca “qual é o meu ip” no navegador. Se o túnel estiver funcionando corretamente, o IP exibido será o do servidor SSH (ou da rede de saída do servidor), não o IP do provedor móvel.

Resultado de pesquisa mostrando o IP do servidor SSH após ativar o túnel

Se o IP mudou para o do seu servidor SSH, sucesso: o tráfego do navegador (ou de todo o dispositivo, se Global Proxy ativo) está passando pelo túnel.

Critérios de aceitação / Testes de aceitação

  • Antes do túnel: verifique e anote o IP público do dispositivo.
  • Ative o túnel: o app exibe conexão estabelecida sem erros.
  • Após ativar: o IP público visível no navegador deve corresponder ao IP do servidor SSH.
  • DNS: consulte um site de verificação de DNS leak; as consultas DNS devem mostrar o servidor remoto (ou não vazar para o provedor local) quando o DNS Proxy estiver habilitado.
  • Aplicativos selecionados (se Individual Proxy): apenas apps marcados devem usar o túnel; outros permanecem usando a conexão direta.

Solução de problemas (quando e por que isso pode falhar)

  • Erro de autenticação: verifique usuário/senha e se a chave privada corresponde à chave pública no servidor. Confira permissões do arquivo authorized_keys (~/.ssh/authorized_keys) no servidor.
  • Conexão cai imediatamente: veja logs do SSH no servidor (frequentemente /var/log/auth.log ou journalctl) para mensagens de desconexão; ajuste KeepAlive ou Enable TCPKeepAlive.
  • DNS vazando: certifique-se de que “Enable DNS Proxy” está habilitado e que o app tem permissão root para redirecionar tráfego DNS.
  • App impede conexão por falta de root: confirme que o dispositivo está realmente com root e que o SuperUser/ Magisk concedeu permissão ao SSH Tunnel.
  • Porta bloqueada pelo provedor: alguns provedores restringem portas; teste usar porta 443 (TLS) no servidor SSH para contornar bloqueios, tomando cuidado com conflitos com servidores HTTPS existentes.
  • Latência/velocidade lenta: roteamento via servidor remoto pode reduzir velocidade; teste a velocidade antes/depois e compare. Escolha um servidor com boa conexão e baixa latência ao seu local.

Dica: ative logs no app e analise mensagens de erro; use também ferramentas no servidor para verificar conexões entrantes.

Segurança e hardening (boas práticas)

  • Use chaves SSH com passphrase em vez de apenas senha. Proteja a chave privada no dispositivo com armazenamento seguro.
  • No servidor, desabilite autenticação por senha se possível e permita apenas chaves públicas (PasswordAuthentication no sshd_config = no).
  • Proteja a conta do usuário SSH: limite comandos permitidos (ForceCommand) ou crie um usuário dedicado apenas para tunelamento.
  • Mantenha o servidor SSH atualizado e com firewall configurado (por exemplo, permitir apenas IPs confiáveis ou usar fail2ban para bloquear tentativas de força bruta).
  • Se possível, use uma chave RSA/ed25519 forte; evite chaves fracas ou formatos obsoletos.
  • Revogue acesso quando necessário: remova chaves públicas do authorized_keys quando não usadas.

Privacidade e notas sobre dados (GDPR e semelhantes)

  • O túnel criptografa o tráfego entre seu dispositivo e o servidor. Entretanto, o provedor do servidor (ou o próprio servidor) vê o tráfego de saída e pode registrar metadados. Escolha um servidor que você confie.
  • Se dados pessoais são processados, considere políticas de retenção e conformidade locais (por exemplo, GDPR na UE). Se usar um VPS de terceiro, revise os termos de serviço e localização dos dados.
  • DNS encaminhado pelo túnel reduz exposições, mas o servidor remoto continuará resolvendo nomes — portanto, o operador do servidor pode ver quais domínios você consulta.

Alternativas ao túnel SSH

  • VPN (OpenVPN, WireGuard): geralmente mais simples para usuários sem root (dependendo da implementação) e oferece tunelamento de sistema completo com clientes oficiais. WireGuard tende a ter melhor desempenho.
  • Proxy HTTPS/HTTP (NTLM, Socks): útil para aplicativos específicos, mas não criptografa tudo por padrão e pode expor DNS.
  • Apps sem root que usam VPNService API: alguns apps criam uma VPN local para redirecionar tráfego sem exigir root (ex.: Orbot/Tor, clientes VPN comerciais). Recomendado se você não quer/rootar o dispositivo.

Quando escolher SSH vs VPN:

  • Prefira SSH quando já tem um servidor SSH e quer uma solução rápida e leve.
  • Prefira VPN (WireGuard/OpenVPN) para melhor desempenho e compatibilidade com todo o sistema sem root (via VPNService).

Playbook passo a passo (SOP rápido)

  1. Verifique acesso root e instale SSH Tunnel.
  2. Confirme acesso SSH ao servidor a partir de um computador (ssh usuario@servidor).
  3. Gere chave SSH, instale a pública no servidor e copie a privada (.ppk) para /sdcard/sshtunnel/key/.
  4. Configure host, porta, usuário e método de autenticação no app.
  5. Ative “Use socks proxy” e escolha Global Proxy ou Individual Proxy.
  6. Habilite DNS Proxy e Auto Reconnect se desejar.
  7. Ative Tunnel Switch e autorize permissão root.
  8. Teste IP e DNS; verifique logs se necessário.

Checklist por papel

Administrador / Entusiasta técnico:

  • Servidor SSH disponível e atualizado
  • Chave pública instalada e permissões corretas
  • Firewall configurado no servidor
  • Testes de logs e permissão root no dispositivo

Usuário final / Não técnico:

  • App instalado
  • Chave privada ou credenciais fornecidas (por alguém de confiança)
  • Tunnel ativo e IP confirmado mudado
  • DNS Proxy habilitado

Casos de uso e quando isso falha (contraexemplos)

  • Cenário: Você está numa rede corporativa que bloqueia tráfego SSH; o túnel não se conecta. Alternativa: usar VPN na porta 443 ou autorização com o administrador de rede.
  • Cenário: Aplicativos que usam redes móveis e tentam negociar certificados/pins podem falhar se o servidor fizer interceptação de SSL. Evite inspecionar SSL no servidor.
  • Cenário: Você precisa de baixa latência e alta largura de banda (streaming de vídeo em alta resolução): um túnel SSH através de um servidor lento causará buffering. Alternativa: servidor mais próximo geograficamente ou VPN otimizada.

Testes/aceitação detalhados

  • Teste 1 — Verificar IP: pesquisar “qual é o meu ip” antes e depois.
  • Teste 2 — Teste de vazamento DNS: use um serviço de “DNS leak test” e confirme que os resolvers listados correspondem ao servidor remoto.
  • Teste 3 — Teste de aplicativos: abra aplicativos marcados para Individual Proxy e verifique conectividade; abra aplicativos não marcados e confirme acesso direto.

Modelo mental / Heurística

Pense no túnel SSH como um tubo seguro entre seu telefone e um ponto de saída confiável. Tudo que você empurra por esse tubo fica criptografado até o ponto de saída. Objetivo: reduzir a superfície de ataque entre você e esse ponto confiável.

Mini-ficha técnica (valores e padrões comuns)

  • Porta SSH padrão: 22
  • Diretório da chave no Android (app): /sdcard/sshtunnel/key/
  • Formato comum para app: .ppk (PuTTY Private Key) — converta se necessário

Resumo final

  • Um túnel SSH bem configurado permite criptografar o tráfego do seu Android até um servidor confiável.
  • Root é necessário para proxy global; sem root, considere VPN ou apps baseados em VPNService.
  • Use chaves SSH fortes, habilite DNS Proxy e proteja o servidor remoto.
  • Teste IP e vazamentos DNS para confirmar que o túnel está funcionando.

Importante: O servidor remoto vê o tráfego após o término do túnel. Confie no operador do servidor e tenha políticas de retenção adequadas se for lidar com dados sensíveis.


Perguntas frequentes

Posso usar esse método sem root?

Sem root, você não consegue redirecionar todo o tráfego do sistema via SSH Tunnel. Alternativas viáveis são clientes VPN (WireGuard/OpenVPN) ou apps que usam a API VPNService do Android.

O túnel protege contra registros no servidor remoto?

Não — o túnel criptografa entre o dispositivo e o servidor, mas o servidor ou o operador dele podem registrar tráfego, metadados e DNS resolvido.

Posso usar meu roteador doméstico como servidor SSH?

Sim. Um roteador com firmware que inclui um servidor SSH (ou um servidor dedicado em sua rede) funciona bem, desde que você exponha o SSH e configure NAT/encaminhamento de porta no roteador principal.

É melhor usar SSH ou VPN?

Depende do objetivo: SSH é simples e funciona bem se você já tem servidor SSH. Para compatibilidade total do sistema e potencialmente melhor desempenho, VPN (WireGuard/OpenVPN) é geralmente a escolha preferida.


Se quiser, posso gerar uma checklist imprimível, um conjunto de comandos para configurar chaves no Linux/macOS/Windows, ou um diagrama de fluxo Mermaid para decidir entre SSH e VPN.

Autor
Edição

Materiais semelhantes

Editor de blog com Word 2010
Tutoriais

Editor de blog com Word 2010

pv vs progress: barras de progresso no terminal
Linux

pv vs progress: barras de progresso no terminal

Duas fotos de perfil no Facebook — tutorial
Redes Sociais

Duas fotos de perfil no Facebook — tutorial

Chave Mawizeh Slum Discarded Cache — onde encontrar
Guia de Jogo

Chave Mawizeh Slum Discarded Cache — onde encontrar

Design de Personagens 3D: Guia Prático e Completo
3D Animação

Design de Personagens 3D: Guia Prático e Completo

FileWhopper: Transferência fácil de arquivos grandes
Transferência de Arquivos

FileWhopper: Transferência fácil de arquivos grandes