安装pexpect模块
作用:完成程序自动交互的目的
pip3 install pexpect
代码:
import pexpect,time,os,sys
par1=sys.argv[1] #IP地址 #定义4个传入参数
par2=sys.argv[2] #用户名
par3=sys.argv[3] #密码
par4=sys.argv[4] #脚本运行时间
while True:
a = os.listdir(os.getcwd()) #列出脚本当前目录下的文档
if 'forticlientsslvpn' in a: #检查当前目录是否有下载的客户端文件
vpn_cmd="cd /root/forticlientsslvpn/64bit"
vpn_cmd1=''.join((vpn_cmd,' && ./forticlientsslvpn_cli --server ',par1,' --vpnuser ',par2)) #完成命令和参数传入拼接
process = pexpect.spawn("/bin/bash",['-c',vpn_cmd1]) #执行命令后下面来完成自动交互过程
process.expect("Password")
process.sendline(par3)
process.expect("Would you like to connect to this server")
process.sendline('Y')
time.sleep(int(par4)) #暂停时间,没有时间的话脚本运行后程序自动关闭,ssl就断开连接了,根据需要设置
break
else:
os.system('yum install wget -y && yum install ppp pptp pptp-setup -y && wget https://fortinet.egnyte.com/dd/ZGUGMw1Xxh/ \
&& tar -zxvf index.html && chmod -R 777 forticlientsslvpn')
系统上执行命令:
python3 脚本文件名 IP地址:端口 用户名 密码 运行时间秒
python3 xxx.py 11.11.11.11:2121 yshxxxx11 xxxx1111 100