开机启动输入账号密码
问题场景:
openvpn3 程序连接服务器时需要输入账号密码进行验证,无人值守的情况下shell脚本不能自动输入账号密码。
解决思路:
将启动命令写到shell脚本里面,指定配置文件。
用expect脚本将启动脚本自动化,自动输入账号密码
在开机启动项加上expect脚本。
步骤:
[root@vpn_client script]# ll
total 24
-rw-r--r--. 1 root root 12314 May 8 2021 openvpn.ovpn
-rwxr-xr-x. 1 root root 69 May 17 2021 sc01.sh
-rwxr-xr-x. 1 root root 168 May 8 2021 start-openvpn.sh
[root@vpn_client script]# cat start-openvpn.sh
#!/bin/expect
spawn /opt/script/sc01.sh
expect "Auth User name:"
send "******\n"
expect "Auth Password:"
send "******\n"
#interact
expect eof
[root@vpn_client script]# cat sc01.sh
#!/bin/bash
openvpn3 session-start --config /opt/script/openvpn.ovpn
[root@vpn_client script]# cat /etc/rc.local
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.
touch /var/lock/subsys/local
/opt/script/start-openvpn.sh