Envio de comandos por ssh sem troca de chaves a múltiplos servidores
Publicado por Djames Suhanko 06/06/2009
[ Hits: 8.875 ]
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()
B.S.A.N.S. - Break Security - Automated Network Scanner [PARTE 1]
Aplicação gráfica para Wake-on-LAN com Python 3 + GUI Tk/Tcl
Nenhum comentário foi encontrado.
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como impedir exclusão de arquivos por outros usuários no (Linux)
Cirurgia no Linux Mint em HD Externo via USB
Anúncio do meu script de Pós-Instalação do Ubuntu
Duas Pasta Pessoal Aparecendo no Ubuntu 24.04.3 LTS (8)
Alguém pode me indicar um designer freelancer? [RESOLVIDO] (5)
Alguém executou um rm e quase mata a Pixar! (3)
Formas seguras de instalar Debian Sid (1)
Por que passar nas disciplinas da faculdade é ruim e ser reprovado é b... (6)









