Biblioteca Python e CLI para criar túneis SSH que encaminham portas locais para serviços em hosts remotos ou privados via paramiko.
ktbyers/netmiko
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.
- Estrelas
- 4,319
- Forks
- 1,393
- Issues abertas
- 60
- Último commit
- há 8 dias
O que é?
Netmiko é uma biblioteca Python baseada no Paramiko que facilita a conexão com dispositivos de rede via SSH e a interação com suas interfaces de linha de comando. A automação de redes costuma envolver a coleta da saída de comandos show ou o envio de alterações de configuração, e o Netmiko cuida dessas operações em diversas plataformas de dispositivos.
Em vez de escrever código de baixo nível para tratar prompts e fazer correspondência com regex para cada fabricante, os usuários passam um dicionário do dispositivo com um device_type, como cisco_ios, e chamam métodos como send_command ou send_config_set. A biblioteca cuida de entrar no modo de configuração e aguardar os prompts. As conexões podem ser usadas como gerenciadores de contexto, garantindo que as sessões sejam encerradas corretamente.
O projeto oferece suporte ao Python 3.11 e versões posteriores e pode ser instalado com pip. As plataformas compatíveis estão listadas no documento PLATFORMS do projeto, e exemplos e a documentação da API estão disponíveis junto ao código.
Recursos principais
- 01Envia comandos show para dispositivos de rede e retorna a saída.
- 02Aplica alterações de configuração e entra automaticamente no modo de configuração.
- 03Oferece suporte a uma ampla variedade de plataformas de fabricantes de equipamentos de rede, selecionadas por device_type.
- 04Pode ser usado como gerenciador de contexto para garantir que as sessões SSH sejam sempre encerradas.
- 05Usa o Paramiko para o transporte SSH subjacente.
Casos de uso
- Coletar o estado de interfaces ou rotas de um conjunto de switches e roteadores.
- Automatizar alterações de configuração repetitivas em dispositivos de rede.
- Criar scripts de auditoria ou conformidade de rede que leem a saída dos dispositivos.
Início rápido
- 1
Instale o Netmiko com pip
pip install netmiko - 2
Crie um dicionário de dispositivos e abra uma conexão SSH com ConnectHandler
- 3
Execute um comando show com send_command
Antes de usar
- Requer Python 3.11 ou posterior; Python 3.10 e versões anteriores não são mais compatíveis.
- É voltado para a extração de dados da tela da CLI via SSH, portanto não é adequado para APIs nem para gerenciamento que não seja feito pela CLI.
Em coleções
Tópicos
Perguntas frequentes
- O que é netmiko?
- 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. Netmiko é uma biblioteca Python baseada no Paramiko que facilita a conexão com dispositivos de rede via SSH e a interação com suas interfaces de linha de comando. A automação de redes costuma envolver a coleta da saída de comandos show ou o envio de alterações de configuração, e o Netmiko cuida dessas operações em diversas plataformas de dispositivos.
- netmiko é gratuito? Qual é a licença?
- netmiko é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- netmiko ainda é mantido?
- Manutenção ativa. O último commit de netmiko foi em 30 de out. de 2026.
- Para que posso usar netmiko?
- Coletar o estado de interfaces ou rotas de um conjunto de switches e roteadores. Automatizar alterações de configuração repetitivas em dispositivos de rede. Criar scripts de auditoria ou conformidade de rede que leem a saída dos dispositivos.
- Como instalar netmiko?
- Instale o Netmiko com pip: pip install netmiko Crie um dicionário de dispositivos e abra uma conexão SSH com ConnectHandler Execute um comando show com send_command
- Onde consigo netmiko?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/ktbyers/netmiko
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Uma CLI no estilo netcat e uma biblioteca Go que conectam duas máquinas pela camada de dados WireGuard do Tailscale, sem exigir conta ou plano de controle do Tailscale.
Gerenciador de túneis SSH via linha de comando, escrito em Go, que permite definir, abrir e fechar encaminhamentos de porta usando uma configuração TOML.
Aplicação web open source como fonte de verdade para modelar e documentar a infraestrutura de rede, com APIs REST e GraphQL para automação.
Implementação do protocolo SSHv2 em Python puro, com funcionalidades de cliente e servidor para programas Python.
Cliente baseado em FUSE que monta um sistema de arquivos remoto via SFTP para você navegar e editar arquivos em um servidor SSH como se fossem uma pasta local.