How do I capture Password prompt

前端 未结 2 1090
再見小時候
再見小時候 2021-01-27 17:36

I have the following code (updated to include pexpect):

import sys
import subprocess
import pexpect
print \"0\"
ssh = subprocess.Popen(\"ssh -A -t username1@200.         


        
2条回答
  •  渐次进展
    2021-01-27 17:58

    With guidance from Johannes Holmberg:

    import pexpect
    
    prompt = "cisco_prompt"
    
    def start_log():
            global child
            child.logfile = open("/tmp/mylog", "w")
    
    def stop_log():
            global child
            f = open('/tmp/mylog', 'r')
            for line in f:
                    cleanedLine = line.strip()
                    if cleanedLine: # is not empty
                            print(cleanedLine)
            f.close()
            child.logfile.close
    
    ssh_cmd = "ssh -A -t username1@200.1.2.3 ssh -A -X username2@10.1.2.3"
    child = pexpect.spawn(ssh_cmd, timeout=30)
    print "Waiting for 1st password prompt"
    child.expect ('password')
    child.sendline ('password1')
    print "Waiting for 2nd password prompt"
    child.expect ('password')
    child.sendline ('password2')
    start_log()
    child.expect (prompt)
    child.sendline ('conf t')
    stop_log()
    start_log()
    child.expect ('(config)')
    stop_log()
    print "Ready for more code"
    child.close
    print "END"
    

提交回复
热议问题