我有一个脚本可以安装和设置 VPN,然后连接到它:
apt install apt-transport-https
wget https://swupdate.openvpn.net/repos/openvpn-repo-pkg-key.pub
apt-key add openvpn-repo-pkg-key.pub
wget -O /etc/apt/sources.list.d/openvpn3.list https://swupdate.openvpn.net/community/openvpn3/repos/openvpn3-focal.list
apt update
apt install openvpn3
openvpn3 session-start --config profile-59.ovpn
当我在 Ubuntu 桌面上运行它时,它会以交互方式询问凭据:
如何调整脚本以传递凭据以避免交互提示?这样做的目的是让 Docker 容器自动连接到 VPN。
您可能想要检查类似 的
expect
内容,这将允许您执行以下操作:当然,如果许多人能够连接到 Docker 容器或读取构建中打包的源文件,这可能并不理想,因为明文密码可能会产生问题。
一种选择是创建一个包含凭据的单独文件,并将其存储在 Docker 容器内的某个位置,例如
/root/.private/vpn-creds
. 该文件将仅包含两行:然后你可以编辑你的
expect
脚本看起来像这样:请注意,如果每个人都可以
root
访问,那么您无法以自动方式隐藏凭据。一个sudo
知道如何使用 StackExchange 的坚定的人会找到一种方法来获取他们想要的信息?