pexpect - 在没有spawn的情况下启动SSH连接

时间:2018-06-07 23:52:48

标签: ssh pexpect

我一直在学习pexpect一周。我花了很长时间将一个pexpect对象传递给一个像这样的函数:

def connect(child,user,ip):

child.sendline("ssh {}@{}".format(user,ip))
out=child.expect(["password:","Are you sure you want to continue connecting",pe.EOF])

if(out in [0,1]):
    print("it worked")
    print(out)
else:
    print("it didn't work")

经过多次测试后,我意识到ssh命令仅在使用child.spawn("ssh user@ip")时才有效。命令child.sendline("ssh user@ip")虽然是由pexpect发送的(我使用sys.stdout作为日志文件来确保),但实际上什么也没做。所以我的问题是:为什么会这样?有没有办法用sendline初始化ssh连接?

0 个答案:

没有答案