代码之家  ›  专栏  ›  技术社区  ›  jpeter01

OpenVPN TOTP提示

  •  0
  • jpeter01  · 技术社区  · 2 年前

    我将OpenVPN配置为通过PAM使用用户/密码身份验证,这很好。我也尝试添加TOTP身份验证(也使用PAM),但这不起作用。

    客户端版本与服务器版本完全相同(这不应该是版本不匹配的问题)。我试着运行服务器和客户端,因为没有人启用/禁用,没有任何帮助。如果在客户端启用静态质询选项,则会显示提示,但不会处理输入(不会将其传递给PAM)。但是,用户/密码登录运行良好,这也由PAM处理。 PAM配置openvpn是正确的,因为SSH也能很好地使用它。 PAM提示将传递给OpenVPN服务器,如服务器日志中所示: One-time password (OATH) for 'user1': 但这从未出现在客户端。

    • 有人能帮我做这个吗?是否存在缺少的编译选项,或已知的错误,或者需要不同的配置?

      openvpn --version
      OpenVPN 2.5.6 x86_64-suse-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] built on Mar 16 2022
      library versions: OpenSSL 1.1.1l  24 Aug 2021 SUSE release 150400.7.37.1, LZO 2.10
      Originally developed by James Yonan
      Copyright (C) 2002-2022 OpenVPN Inc <[email protected]>
      Compile time defines: enable_async_push=no enable_comp_stub=no 
      enable_crypto_ofb_cfb=yes enable_debug=yes enable_def_auth=yes 
      enable_dependency_tracking=no enable_dlopen=unknown 
      enable_dlopen_self=unknown enable_dlopen_self_static=unknown 
      enable_fast_install=needless enable_fragment=yes enable_iproute2=yes 
      enable_libtool_lock=yes enable_lz4=yes enable_lzo=yes 
      enable_management=yes enable_multihome=yes enable_pam_dlopen=no 
      enable_pedantic=no enable_pf=yes enable_pkcs11=yes 
      enable_plugin_auth_pam=yes enable_plugin_down_root=yes 
      enable_plugins=yes enable_port_share=yes enable_selinux=no 
      enable_shared=yes enable_shared_with_static_runtimes=no enable_small=no 
      enable_static=yes enable_strict=no enable_strict_options=no 
      enable_systemd=yes enable_werror=no enable_win32_dll=yes 
      enable_x509_alt_username=yes with_aix_soname=aix 
      with_crypto_library=openssl with_gnu_ld=yes with_mem_check=no 
      with_sysroot=no
      
    • PAM配置:

      cat /etc/pam.d/openvpn
      #%PAM-1.0
      auth        requisite   pam_oath.so usersfile=/etc/oath/users_ssh.oath window=30 digits=6 
      auth        requisite   pam_nologin.so
      auth        include     common-auth
      account     requisite   pam_nologin.so
      account     include     common-account
      password    include     common-password
      session     required    pam_loginuid.so
      session     include     common-session
      session     optional    pam_lastlog.so   silent noupdate showfailed
      
    • openvpn服务器conf(仅相关):

      username-as-common-name
      #plugin /usr/lib64/openvpn/plugins/openvpn-plugin-auth-pam.so "openvpn"
      plugin /usr/lib64/openvpn/plugins/openvpn-plugin-auth-pam.so "openvpn login USERNAME password PASSWORD pin OTP"
      
    • 客户会议(相关部分):

      auth-user-pass
      #static-challenge "PIN" 1
      

    我正在尝试连接服务器上启用的TOTP,我得到 AUTH_FAILED (而不是成功),无论输入PIN到静态质询提示。

    0 回复  |  直到 2 年前