使用pexpect我想生成一个ssh会话,ssh通过几个服务器连接到最终服务器,就像我对Expect一样。
Python版本:2.7.3
#!/usr/bin/python
import pexpect
#import getpass
#import time
child = pexpect.spawn ('ssh foo@foo')
child.expect ('P*')
child.sendline ('blahblahblah')
child.expect ('P*')
child.sendline ('ssh server2.foo')
child.expect ('P*')
child.sendline ('blahblahblah')
child.interact()
我的第一跳没有问题,登录服务器foo,但我不知道pexpect语法期望“send - ssh $ user @ $ host \ r \ n”用于后续跃点。
答案 0 :(得分:0)
你可以继续使用像你已经完成的发送行
child = pexpect.spawn('ssh %s@%s' % (username, relayhost0), timeout = 5)
child.expect('P*')
child.sendline('ssh %s@%s' % (username, relayhost1))
child.expect('P*')
child.sendline('ssh %s@%s' % (username, relayhost2))
child.expect('P*')
child.interact()