[root@localhost ~]# cat openvpn.sh
#!/bin/bash
read -p '请输入用户名:' name
read -p '请输入密码:' passwd
read -p '再次确认密码:' passwd1
if [ $passwd == $passwd1 ];then
#生成账户密码
cd /etc/openvpn/easyrsa-client/3
expect <<-EOF
spawn ./easyrsa gen-req $name
expect "Enter" {send "$passwd\r"}
expect "Verifying" {send "$passwd\r"}
expect "Common" {send "\r"}
expect eof
EOF
else
echo "密码不一致"
exit
fi
cd /etc/openvpn/easyrsa-server/3
./easyrsa import-req /etc/openvpn/easyrsa-client/3/pki/reqs/$name.req $name
expect <<-EOD
spawn ./easyrsa sign client $name
expect "Confirm" {send "yes\r"}
expect eof
EOD
mkdir /etc/openvpn/client/$name
cd /etc/openvpn/client/$name
cp /etc/openvpn/easyrsa-server/3/pki/ca.crt .
cp /etc/openvpn/easyrsa-server/3/pki/issued/${name}.crt .
cp /etc/openvpn/easyrsa-client/3/pki/private/${name}.key .
cp /etc/openvpn/client/zhangshijie/client.ovpn .
sed -i "s/zhangshijie/$name/g" client.ovpn
cp /etc/openvpn/certs/ta.key .
cd .. && tar -zcf ${name}.tar.gz $name
echo '文件归档完成'