发布时间:2019-07-11 09:53:14编辑:auto阅读(1211)
下载并安装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
48102
46789
37711
35037
29576
26237
25166
20203
19841
18315
5988°
6672°
6164°
6153°
7264°
6103°
6212°
6684°
6649°
8040°