python paramiko ssh

前端 未结 4 1798
广开言路
广开言路 2020-12-01 06:01

i\'m new on python. i wrote a script to connect to a host and execute one command

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAdd         


        
4条回答
  •  爱一瞬间的悲伤
    2020-12-01 06:07

    There is extensive paramiko API documentation you can find at: http://docs.paramiko.org/en/stable/index.html

    I use the following method to execute commands on a password protected client:

    import paramiko
    
    nbytes = 4096
    hostname = 'hostname'
    port = 22
    username = 'username' 
    password = 'password'
    command = 'ls'
    
    client = paramiko.Transport((hostname, port))
    client.connect(username=username, password=password)
    
    stdout_data = []
    stderr_data = []
    session = client.open_channel(kind='session')
    session.exec_command(command)
    while True:
        if session.recv_ready():
            stdout_data.append(session.recv(nbytes))
        if session.recv_stderr_ready():
            stderr_data.append(session.recv_stderr(nbytes))
        if session.exit_status_ready():
            break
    
    print 'exit status: ', session.recv_exit_status()
    print ''.join(stdout_data)
    print ''.join(stderr_data)
    
    session.close()
    client.close()
    

提交回复
热议问题