paramiko - Python + SSH
Uma tarefa muito comum dos administradores de sistemas Linux, é executar o mesmo comando em vários servidores distintos. Isso, com o objetivo de aplicar um patch de segurança, instalar um novo pacote, efetuar alguma configuração e até mesmo padronizar configurações. Mas é possível também fazer estas configurações através do Python. Existe um módulo chamado paramiko, que foi criado justamente para fazer conexões via SSH. Então, neste artigo vou mostrar a vocês como usar este módulo.
[ Hits: 29.399 ]
Por: Alisson Machado em 29/09/2016
#!/usr/bin/python from paramiko import SSHClient import paramiko class SSH: def __init__(self): self.ssh = SSHClient() self.ssh.load_system_host_keys() self.ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) self.ssh.connect(hostname='127.0.0.1',username='root',password='SENHA_DE_ROOT') def exec_cmd(self,cmd): stdin,stdout,stderr = self.ssh.exec_command(cmd) if stderr.channel.recv_exit_status() != 0: print stderr.read() else: print stdout.read() if __name__ == '__main__': ssh = SSH() ssh.exec_cmd("apt-get update")
self.ssh = SSHClient()
from paramiko import SSHClient import paramiko
self.ssh.load_system_host_keys()
self.ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
self.ssh.connect(hostname='127.0.0.1',username='root',password='SENHA_DE_ROOT')
stdin,stdout,stderr = self.ssh.exec_command(cmd)
if stderr.channel.recv_exit_status() != 0: print stderr.read() else:
if __name__ == '__main__': ssh = SSH() ssh.exec_cmd("apt-get update")
Vault: SSH com OneTimePassword
Como criar um keylogger em Python
ISO8583py - Utilizando Python para o tratamento de mensagens ISO8583
Interagindo com servidores HTTP com Python
Pydev - Preparando o Eclipse para o Python
PEP 8 - Guia de estilo para código Python
Atenção a quem posta conteúdo de dicas, scripts e tal (6)
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
O mínimo que você precisa saber sobre o terminal (parte 2)
O mínimo que você precisa saber sobre o terminal (parte 1)
Como iniciar uma máquina virtual do VirtualBox automaticamente no boot do LUbuntu 18 LTS
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Como deixar as abas do Firefox mais fininhas
Mudar o gerenciador de login (GDM para SDDM)
"Tentando" fazer com que programas rodem no Wayland e no X11
Como posso localizar o arquivo HTML da página inicial do GLPI dentro d... (2)
O que você está ouvindo agora? [2] (164)
Como baixar os drivers de áudio no linux mint? (6)
Erro ao iniciar Ubuntu 24.04.1 LTS - Management Owner Key - MoK (6)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta