Wel*_*oud 6 authentication vpn password login openvpn
我有一个通过 Google Authenticator 应用程序设置了 2 因素身份验证的 openvpn。
在连接详细信息中,我填写了用户名和密码(用户密钥密码为空)。当我第一次登录时,我会弹出一个窗口来填写来自 Google 应用的身份验证代码。但是,在我这样做之后,密码会被应用程序中的这个数字代码覆盖。因此,下次我尝试登录时,会弹出密码窗口,然后是 Google 应用程序的另一个弹出窗口。
这可以以某种方式修复:
这是 Ubuntu 19.10 的全新安装
这不是解决方案,而是解决方法
预计 VPN 配置成功。

注意:选择“存储所有用户的密码”
在命令行中获取VPN连接列表,并找到目标连接:
nmcli connection show
Run Code Online (Sandbox Code Playgroud)

创建一个 post-down 脚本文件,该文件将在每次连接关闭时运行:
sudo touch /etc/network/if-post-down.d/overwrite-vpn-password
Run Code Online (Sandbox Code Playgroud)
将下一个内容放入: /etc/network/if-post-down.d/overwrite-vpn-password
#!/bin/sh
nmcli connection modify NAME_OR_UUID vpn.secrets password=MY_PASSWORD
Run Code Online (Sandbox Code Playgroud)

使文件可执行:
sudo chmod +x /etc/network/if-post-down.d/overwrite-vpn-password
Run Code Online (Sandbox Code Playgroud)
完毕!
当您输入 2FA 代码并且 VPN 连接成功时,它会更新秘密密码。每次关闭任何连接(例如 VPN)时都会执行此脚本,并将使用nmcli和硬编码值修改连接配置的秘密。