Python3 usa el módulo paramiko y el módulo de subprocesos para implementar la administración por lotes del host y ejecutar comandos

import paramiko
import sys
from getpass import getpass
import threading

def remote_command (host, pwd, command):
    ssh = paramiko.SSHClient ()
    ssh.set_missing_host_key_policy (paramiko.AutoAddPolicy ())
    ssh.connect (hostname = host, password = pwd, username = 'root')
    stdin, stdout, stderr = ssh.exec_command (comando)
    out = stdout.read (). decode ('utf8')
    error = stderr.read (). decode ('utf8')
    if out:
        print ('[% s] OUT: \ n% s '% (host, out))
    si error:
        print (' [% s] OUT: \ n% s '% (host, error))
    ssh.close ()

if __name__ == '__main__':
    host_file = sys.argv [1]
    command = sys.argv [2]
    pwd = getpass ()
    con open (host_file) como fobj:
        para la línea en fobj:
            host = line.strip ()
            t = threading.Thread (target = remote_command, args = (host, pwd, command))
            t.start ()

Publicado 73 artículos originales · elogiado 4 · 20,000+ visitas

Supongo que te gusta

Origin blog.csdn.net/qq_27592485/article/details/102558659
Recomendado
Clasificación