文 库
库中万物皆非宝,临到用时价千斤!
  1. def ssh_cmd(ippasswdcmdnewpwd):
  2.     ret = -1
  3.     ssh = pexpect.spawn('ssh -q -p36000 root@%s "%s"' % (ipcmd))
  4.     try:
  5.         i = ssh.expect(['password: ''continue connecting (yes/no)?']timeout=5)
  6.         if i == 0 :
  7.             ssh.sendline(passwd)
  8.         elif i == 1:
  9.             ssh.sendline('yes\n')
  10.             ssh.expect('password: ')
  11.             ssh.sendline(passwd)
  12.         ssh.expect('New Password:')
  13.         ssh.sendline(newpwd)
  14.         ssh.expect('Reenter New Password:')
  15.         ssh.sendline(newpwd)
  16.         r = ssh.read()
  17.         ret = 0
  18.     except pexpect.EOF:
  19.         print "EOF"
  20.         ssh.close()
  21.         ret = -1
  22.     except pexpect.TIMEOUT:
  23.         print "TIMEOUT"
  24.         ssh.close()
  25.         ret = -2
  26.     return ret
  27. 参考:http://www.ibm.com/developerworks/cn/linux/l-cn-pexpect1/
posted on 2011-08-02 23:44  Cursorkey  阅读(915)  评论(0编辑  收藏  举报