在terraform中,我试图在bash中自动执行命令(启动openvpn),该命令需要输入用户名,并在第二行输入密码。
问题类似于此处描述的问题, How to run sudo commands in terraform? ...但是就我而言,我需要同时输入用户名和密码,但我不确定如何同时使用两者。
echo openvpnas && echo password | openvpn --config ./client.ovpn
此时,open vpn要求输入用户名和密码,但我不知道如何在脚本中同时输入两者。
[user@workstation openvpn_config]$ sudo openvpn --config ./client.ovpn
[sudo] password for user:
Wed Jan 16 12:08:41 2019 OpenVPN 2.4.6 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [MH/PKTINFO] [AEAD] built on Dec 5 2018
Wed Jan 16 12:08:41 2019 library versions: OpenSSL 1.0.2k-fips 26 Jan 2017, LZO 2.06
Enter Auth Username:openvpnas
Enter Auth Password:
答案 0 :(得分:1)
如果您使用保管库或其他方式来即时获取凭据,则可以local-exec
创建用户名/密码文件。然后提供--auth-user-pass up
参数以读取文件,然后让local-exec
删除文件。
-auth-user-pass [up]
使用用户名/密码与服务器进行身份验证。 up是包含2行用户名/密码的文件。如果密码行丢失,OpenVPN将提示输入一个。 如果省略up,则会从控制台提示用户名/密码。
服务器配置必须指定--auth-user-pass-verify脚本来验证客户端提供的用户名/密码。
来源:https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage