Repolode
pahaz

pahaz/sshtunnel

Biblioteca Python e CLI para criar túneis SSH que encaminham portas locais para serviços em hosts remotos ou privados via paramiko.

Estrelas
1,305
Forks
200
Issues abertas
71
Último commit
anteontem

O que é?

sshtunnel permite que código Python e a linha de comando configurem o encaminhamento de portas SSH. É útil quando um serviço, como uma aplicação web ou um banco de dados, só pode ser acessado por uma porta SSH, ou quando um servidor privado fica atrás de um gateway que expõe apenas SSH.

O principal ponto de entrada é SSHTunnelForwarder, que pode ser usado com start()/stop() ou como gerenciador de contexto via open_tunnel. Depois de iniciado, o túnel disponibiliza uma local_bind_port à qual a aplicação se conecta. A autenticação aceita senhas, arquivos de chave privada com frases-senha opcionais e chaves de um agente SSH ou de ~/.ssh/config. Túneis com vários saltos podem ser encadeados direcionando um túnel à porta local de outro.

O projeto também inclui uma CLI sshtunnel, que recebe credenciais SSH, endereços de bind remotos e endereços de bind locais como argumentos. É feito inteiramente em Python e funciona tanto no Windows quanto em sistemas semelhantes ao Unix.

Recursos principais

  • 01Encaminha portas locais para serviços remotos acessíveis somente por SSH.
  • 02Inicia e encerra túneis por código ou com uma instrução with.
  • 03Aceita autenticação por senha, chave privada e agente SSH.
  • 04Encadeia vários túneis para acessar hosts atrás de um gateway.
  • 05Oferece uma interface de linha de comando para encaminhar portas rapidamente.
  • 06Lê hosts e configurações de ~/.ssh/config.

Casos de uso

  • Conectar-se a um banco de dados ou serviço web em um servidor cuja única porta aberta é a SSH.
  • Acessar um host privado por meio de um bastion ou servidor de salto em scripts de teste.
  • Encaminhar, a partir de um script, a porta de um banco de dados local de desenvolvimento, como uma VM do Vagrant.
  • Automatizar a configuração de túneis em pipelines de CI ou de dados que precisam acessar recursos remotos.

Início rápido

  1. 1

    Instale o pacote pelo PyPI

    pip install sshtunnel
  2. 2

    Abra um túnel pelo Python usando SSHTunnelForwarder e leia server.local_bind_port

Em coleções

Tópicos

Perguntas frequentes

O que é sshtunnel?
Biblioteca Python e CLI para criar túneis SSH que encaminham portas locais para serviços em hosts remotos ou privados via paramiko. sshtunnel permite que código Python e a linha de comando configurem o encaminhamento de portas SSH. É útil quando um serviço, como uma aplicação web ou um banco de dados, só pode ser acessado por uma porta SSH, ou quando um servidor privado fica atrás de um gateway que expõe apenas SSH.
sshtunnel é gratuito? Qual é a licença?
sshtunnel é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
sshtunnel ainda é mantido?
Manutenção ativa. O último commit de sshtunnel foi em 6 de nov. de 2026.
Para que posso usar sshtunnel?
Conectar-se a um banco de dados ou serviço web em um servidor cuja única porta aberta é a SSH. Acessar um host privado por meio de um bastion ou servidor de salto em scripts de teste. Encaminhar, a partir de um script, a porta de um banco de dados local de desenvolvimento, como uma VM do Vagrant. Automatizar a configuração de túneis em pipelines de CI ou de dados que precisam acessar recursos remotos.
Como instalar sshtunnel?
Instale o pacote pelo PyPI: pip install sshtunnel Abra um túnel pelo Python usando SSHTunnelForwarder e leia server.local_bind_port
Onde consigo sshtunnel?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/pahaz/sshtunnel

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados

Biblioteca Python que simplifica conexões SSH via CLI com dispositivos de rede de vários fabricantes, para enviar comandos show e alterações de configuração.

DevOps e nuvem#network-automation#ssh#python
4,3 mil+4 esta semana1,4 milPythonMITAtualizado há 8 dias