发布时间:2019-07-11 09:53:14编辑:auto阅读(1121)
下载并安装pexpect与ptyprocess模块并结合python2.7实现如下操作
tar -zxvf pexpect-4.0.1.tar.gz
cd pexpect-4.0.1
python setup.py install
tar -zxvf ptyprocess-0.5.tar.gz
cd /ptyprocess-0.5
python setup.py install
Py脚本
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import pexpect
#from getpass import getpass
#passwd = getpass()
def ssh_cmd(user,ip, cmd,passwd):
ssh = pexpect.spawn('ssh %s@%s "%s"' % (user,ip,cmd))
try:
i = ssh.expect(['password:', 'continue connecting (yes/no)?'], timeout=5)
if i == 0 :
ssh.sendline(passwd)
elif i == 1:
ssh.sendline('yes')
ssh.expect('password: ')
ssh.sendline(passwd)
except pexpect.EOF:
print "EOF"
except pexpect.TIMEOUT:
print "TIMEOUT"
else:
r = ssh.read()
print r
ssh.close()
if __name__ == '__main__':
file=open("/mess/filelist",'r')
a = file.read()
file.close()
for host in a.split("\n"):
if host:
user,ip,cmd,passwd = host.split("::")
print "-- %s run:%s --" % (ip, cmd)
ssh_cmd(user,ip,cmd,passwd)
-------------------------------------------------------------------------------------------
/mess/filelist
root::192.168.100.100::ls -l::password
root::192.168.100.100::ps -ef|grep ssh|awk '{print $8}'::password
上一篇: 我要学python之python语法及规
下一篇: python 的err输出BaseExc
47479
45781
36780
34300
28950
25585
24431
19602
19089
17623
5454°
6037°
5553°
5628°
6554°
5365°
5366°
5872°
5845°
7159°