Envio de comandos por ssh sem troca de chaves a múltiplos servidores
Publicado por Djames Suhanko 06/06/2009
[ Hits: 8.721 ]
Homepage: http://phantomclone.com
Para enviar comando a vários servidores de um cluster ao mesmo tempo sem usar troca de chaves, existe um programa chamado cssh...
#!/usr/bin/env python #By: Djames Suhanko - Catho online #lista de servidores sincroniza =["server1.domain","server2.domain", "server3.domain"] import pexpect import sys from threading import Thread #usuario e senha podem ser colocados em um arquivo.ini ou estaticamente nesse arquivo #Testa a lista de parâmetros try: if sys.argv[3]: pass except: print "Uso: " + "script" + " <comando entre aspas> <usuario> <senha>" sys.exit() #essa função inicia o envio dos comandos passados como argumentos. def executor(comando,usuario,senha,servidor): a = 'ssh ' + usuario + '@' + servidor foo = pexpect.spawn(a) foo.expect('.*ssword:') foo.sendline(senha) foo.sendline('su') foo.expect('.*sword:') foo.sendline('senha_secreta') foo.sendline(comando + '&& exit') print "comando e saida para: " + servidor + "..........[OK]" foo.sendline('exit') foo.expect('.*osed.') foo.interact() #cria uma lista... tasks = [] #loop com thread da funcao executor for i in sincroniza: t = Thread(target=executor,args=(sys.argv[1],sys.argv[2],sys.argv[3],i)) t.start() tasks.append(t) #aguarda a finalização de todas as tarefas. for t in tasks: t.join()
Shell reverso em Python - cliente
Nenhum coment�rio foi encontrado.
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
O macete do Warsaw no Linux Mint e cia
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Mikrotik não abre o webmail-segur... da Locaweb (10)
Instalação de Ubuntu em SSD (interno) como se fosse um dispositivo ext... (0)