使用 expect 从 bash 脚本登录 VPN

Jam*_*rzs 1 bash login expect openvpn

我使用以下内容从控制台连接到 VPN:

sudo openvpn my.conf
[sudo] password for user:
Enter Auth Username:my_user
Enter Auth Password:
Run Code Online (Sandbox Code Playgroud)

我不在乎手动输入管理员密码,但我想自动化 vpn 身份验证,我认为期望是我需要做的,但我不知道如何使用它,我从未编写过 bash 脚本。

有人可以使用expect向我展示一个简单的bash脚本,以便我可以使用它吗?

piz*_*zza 5

类似的东西(未经测试)

#!/bin/usr/expect -f
spawn sudo openvpn my.conf
expect -r "\[sudo\] .*\: " {
    send "my_ownpassword\n"
}
expect "Enter Auth Username:" {
    send "my_user\n"
}
expect "Enter Auth Password:" {
    send "my_vpnpassword\n"
}
interact
Run Code Online (Sandbox Code Playgroud)