使用pexpect远程登录SSH

pexpect可以自动和命令行程序进行交互,在系统部署和测试的时候非常好用。

以远程登录SSH并执行命令为例

>> emacs dparkstarter.py
import pexpect

ip = "192.168.1.211"
name = "long"
child = pexpect.spawn('ssh  %s@%s' % (name, ip))
child.expect('$')
child.sendline('python dparkslave.py')
child.interact()
>> python dparkstarter.py

程序可以自动登录SSH,然后执行python dparkslave.py这条命令。