importar paramiko
importar sys
do getpass import getpass
import threading
def remote_command (host, pwd, comando):
ssh = paramiko.SSHClient ()
ssh.set_missing_host_key_policy (paramiko.AutoAddPolicy ())
ssh.connect (hostname = host, senha = pwd, nome de usuário = 'root')
stdin, stdout, stderr = ssh.exec_command (comando)
out = stdout.read (). decode ('utf8')
erro = stderr.read (). decode ('utf8')
if out:
print ('[% s] OUT: \ n% s '% (host, fora))
se erro:
print (' [% s] OUT: \ n% s '% (host, erro))
ssh.close ()
if __name__ == '__main__':
host_file = sys.argv [1]
comando = sys.argv [2]
pwd = getpass ()
com open (host_file) como fobj:
para linha em fobj:
host = line.strip ()
t = threading.Thread (target = remote_command, args = (host, pwd, command))
t.start ()