Python3 usa o módulo paramiko e o módulo de encadeamento para implementar o gerenciamento em lote do host e executar comandos

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 ()

Publicado 73 artigos originais · elogiados 4 · 20.000+ visualizações

Acho que você gosta

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