Paramiko: read from standard output of remotely executed command

后端 未结 3 1508
孤城傲影
孤城傲影 2020-12-03 18:28

so I was working with paramiko for some basic SSH testing and I\'m not getting any output into stdout. Heres my code.

import paramiko
client=paramiko.SSHCli         


        
3条回答
  •  Happy的楠姐
    2020-12-03 18:53

    You have closed the connection before reading lines:

    import paramiko
    client=paramiko.SSHClient()
    client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    com="ls ~/desktop"
    client.connect('MyIPAddress',MyPortNumber, username='username', password='password')
    output=""
    stdin, stdout, stderr = client.exec_command(com)
    
    print "ssh succuessful. Closing connection"
    stdout=stdout.readlines()
    client.close()
    print "Connection closed"
    
    print stdout
    print com
    for line in stdout:
        output=output+line
    if output!="":
        print output
    else:
        print "There was no output for this command"
    

提交回复
热议问题