Envio de comandos por ssh sem troca de chaves a múltiplos servidores
Publicado por Djames Suhanko 06/06/2009
[ Hits: 8.986 ]
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()
verifySite - um verificador de sites
Ligando máquina pela rede usando Python
Nenhum comentário foi encontrado.
File Browser: Crie sua Nuvem Pessoal Privada
A produção de áudio e vídeo no Linux e as distribuições dedicadas a esse fim
Criptografando sua Home com Gocryptfs para tristeza do meliante
A Involução do Linux e as Lambanças Desnecessárias desde o seu Lançamento
O Journal no Linux para a guarda e consulta de logs do sistema
Otimizando o uso de Memória RAM no Ubuntu com zRAM
Usando alias no Terminal para comandos longos
Simplificando o manual do terminal no Ubuntu 26.04
Bloqueio da instalação e reinstalação do Snap (snapd) no Ubuntu
VoidBR - Void Linux adaptado ao Brasil. (0)
Continuando meus tópicos anteriores (11)









