我有一个相当长的密码,我想使用秘密管理器自动执行,我不想以明文形式存储它。
从this的答案来看,我可以使用环境变量来实现这一点,这很棒。
使用
sudo openvpn --config ~/Documents/config.ovpn --auth-user-pass test.txt
进行快速检查有效,也很棒!我需要 sudo,否则 openvpn 无法工作。
但是我无法正确执行命令,我可能犯了一些小错误。
我尝试过:
sudo openvpn --config ~/Documents/config.ovpn --auth-user-pass <(echo -e $VPN_USER"\n"$VPN_PASS)
但这会导致:
2024-04-13 20:11:43 WARNING: cannot stat file '/proc/self/fd/14': No such file or directory (errno=2)
Options error: --auth-user-pass fails with '/proc/self/fd/14': No such file or directory (errno=2)
我认为这是由于我使用 sudo 造成的。所以我尝试了其他方法(我不完全是 bash 专业人士):
cat <(echo -e $VPN_USER"\n"$VPN_PASS) | sudo /usr/sbin/openvpn --config ~/Documents/config.ovpn --auth-user-pass
但这会导致:
Password entry required for 'Enter Auth Username:' (PID 191957).
Please enter password with the systemd-tty-ask-password-agent tool.
这可能是一个简单的问题。
我使用此命令完成了此工作:
sudo bash -c 'openvpn --config /home/leander/Documents/Informatics-EdLAN-Forum.ovpn --auth-user-pass <(echo -e "'${VPN_USER}'\n'${VPN_PASS}'")'
我仍然很乐意得到解释我做错了什么,因为我不确定发生了什么