如何使用双因素身份验证顺利通过 openvpn 登录?

如何使用双因素身份验证顺利通过 openvpn 登录?

我有一个通过 Google Authenticator 应用程序设置了双因素身份验证的 openvpn。

在连接详细信息中我填写了用户名密码用户密钥密码空)。当我第一次登录时,会弹出一个窗口要求我填写来自 Google 应用的身份验证码。但是,在我这样做之后,密码会被来自该应用的数字代码覆盖。所以下次我尝试登录时,会弹出一个输入密码的窗口,然后会弹出另一个 Google 应用的窗口。

可以通过以下方式修复此问题:

  • 保存密码并仅对 Google 应用显示弹出窗口
  • 保存密码并使用某种脚本/应用程序/黑客程序,以便自动填写来自 Google 的身份验证码?(所以我不必处理弹出窗口?:))

这是全新安装的 Ubuntu 19.10

答案1

这不是解决方案,但是解决方法

指导

  1. 预期VPN已成功配置。 图像 图像

    注意:选择“存储所有用户的密码” 图像

  2. 在命令行中获取VPN连接列表,并找到目标连接:

    nmcli connection show
    

    图像

  3. 创建一个关闭后脚本文件,该文件将在每次连接关闭时运行:

    sudo touch /etc/network/if-post-down.d/overwrite-vpn-password
    
  4. 将以下内容放入其中: /etc/network/if-post-down.d/覆盖-vpn 密码

    #!/bin/sh
    
    nmcli connection modify NAME_OR_UUID vpn.secrets password=MY_PASSWORD
    

    图像

  5. 使文件可执行:

    sudo chmod +x /etc/network/if-post-down.d/overwrite-vpn-password
    
  6. 完毕!

发生了什么?

当您输入 2FA 代码并且 VPN 连接成功时,它会更新密码。每次任何连接关闭时(例如 VPN),此脚本都会执行,并使用以下方式修改连接配置的密码:命令行使用硬编码值。

相关内容