我有一个通过 Google Authenticator 应用程序设置了双因素身份验证的 openvpn。
在连接详细信息中我填写了用户名和密码(用户密钥密码空)。当我第一次登录时,会弹出一个窗口要求我填写来自 Google 应用的身份验证码。但是,在我这样做之后,密码会被来自该应用的数字代码覆盖。所以下次我尝试登录时,会弹出一个输入密码的窗口,然后会弹出另一个 Google 应用的窗口。
可以通过以下方式修复此问题:
- 保存密码并仅对 Google 应用显示弹出窗口
- 保存密码并使用某种脚本/应用程序/黑客程序,以便自动填写来自 Google 的身份验证码?(所以我不必处理弹出窗口?:))
这是全新安装的 Ubuntu 19.10
答案1
这不是解决方案,但是解决方法
指导
预期VPN已成功配置。
注意:选择“存储所有用户的密码”
在命令行中获取VPN连接列表,并找到目标连接:
nmcli connection show
创建一个关闭后脚本文件,该文件将在每次连接关闭时运行:
sudo touch /etc/network/if-post-down.d/overwrite-vpn-password
将以下内容放入其中: /etc/network/if-post-down.d/覆盖-vpn 密码
#!/bin/sh nmcli connection modify NAME_OR_UUID vpn.secrets password=MY_PASSWORD
使文件可执行:
sudo chmod +x /etc/network/if-post-down.d/overwrite-vpn-password
完毕!
发生了什么?
当您输入 2FA 代码并且 VPN 连接成功时,它会更新密码。每次任何连接关闭时(例如 VPN),此脚本都会执行,并使用以下方式修改连接配置的密码:命令行使用硬编码值。