AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1054156
Accepted
Keith Stein
Keith Stein
Asked: 2021-02-19 08:39:43 +0800 CST2021-02-19 08:39:43 +0800 CST 2021-02-19 08:39:43 +0800 CST

某些客户端只能在以管理员身份连接时对 VPN 进行身份验证

  • 772

我正在尝试设置用户通过 VPN 连接到我们的 Azure 托管网络。所有客户端计算机都运行 Windows 10。通过将所需设置直接添加到系统电话簿文件 ( C:\ProgramData\Microsoft\Network\Connections\Pbk\rasphone.pbk),在客户端计算机上安装连接。

我遇到了一个有趣的情况,有些用户可以正常连接,但其他用户只有在尝试使用管理员权限启动连接时才能连接。

这些用户得到的错误是:

错误 798:找不到可用于此可扩展身份验证协议的证书

尝试通过 Windows 工具栏中的网络菜单连接或尝试通过 rasphone 或 rasdial 连接时会出现此错误。但是有两件有趣的事情需要注意:

  • 首次安装 VPN 连接时,这些相同的用户没有遇到此问题。起初它工作正常。几天后开始出现此问题。
  • 以管理员身份运行 rasphone 或 rasdial 时不会发生此错误。以管理员身份运行时,连接已成功建立。

如您所知,身份验证应该通过证书完成。确切地说是自签名证书。客户端证书安装在Current User\Personal证书存储中。由于根证书是自签名的,因此需要将其添加为客户端设备的 CA,以便将客户端证书识别为有效。因此根证书安装在Current User\Trusted Root Certification Authorities和Local Machine\Trusted Root Certification Authorities证书存储中。

这种完全相同的设置,在完全相同的商店中具有完全相同的证书,以及完全相同的电话簿条目,在某些设备上一直有效,但在其他设备上需要管理员权限。证书必须有效,否则连接将永远无法工作。那么在普通用户上下文中是什么导致连接失败呢?

下面是有问题的完整电话簿条目(连接名称和网关地址已删除)。

[Connection Name]
Encoding=1
PBVersion=6
Type=2
AutoLogon=0
UseRasCredentials=1
DialParamsUID=394750015
Guid=C461B777D7AB504AB0AECABC914B7A56
VpnStrategy=7
ExcludedProtocols=0
LcpExtensions=1
DataEncryption=256
SwCompression=1
NegotiateMultilinkAlways=1
SkipDoubleDialDialog=0
DialMode=0
RedialAttempts=3
RedialSeconds=5
IdleDisconnectSeconds=0
RedialOnLinkFailure=1
CallbackMode=0
CustomDialDll=
CustomDialFunc=
CustomRasDialDll=
ForceSecureCompartment=0
DisableIKENameEkuCheck=0
AuthenticateServer=0
ShareMsFilePrint=1
BindMsNetClient=1
SharedPhoneNumbers=0
GlobalDeviceSettings=0
PrerequisiteEntry=
PrerequisitePbk=
ShowMonitorIconInTaskBar=1
CustomAuthKey=13
CustomAuthData=314442430D00000048000000020000004800000017000000000000000000000000000000000000000000000000000000000000000000FE0006000100FD001800
CustomAuthData=97390292EA748C1C312875C0B087FFECAD8EACD100000000
AuthRestrictions=128
IpPrioritizeRemote=0
IpInterfaceMetric=0
IpHeaderCompression=0
IpAddress=0.0.0.0
IpDnsAddress=10.20.0.5
IpDns2Address=10.20.0.6
IpWinsAddress=0.0.0.0
IpWins2Address=0.0.0.0
IpAssign=1
IpNameAssign=2
IpDnsFlags=0
IpNBTFlags=1
TcpWindowSize=0
UseFlags=2
IpSecFlags=0
IpDnsSuffix=
DisableClassBasedDefaultRoute=1
IDI=
IDR=
ImsConfig=0
IdiType=0
IdrType=0
ProvisionType=0
PreSharedKey=
CacheCredentials=0
NumCustomPolicy=0
NumEku=0
UseMachineRootCert=0
Disable_IKEv2_Fragmentation=0
PlumbIKEv2TSAsRoutes=0
NumServers=0
RouteVersion=1
NumRoutes=1
Routes=0100000002000000100000000A0000000000000000000000000000000000000000000000
NumNrptRules=0
AutoTiggerCapable=1
NumAppIds=0
NumClassicAppIds=0
SecurityDescriptor=
ApnInfoProviderId=
ApnInfoUsername=
ApnInfoPassword=
ApnInfoAccessPoint=
ApnInfoAuthentication=1
ApnInfoCompression=0
DeviceComplianceEnabled=0
DeviceComplianceSsoEnabled=0
DeviceComplianceSsoEku=
DeviceComplianceSsoIssuer=
WebAuthEnabled=0
WebAuthClientId=
FlagsSet=0
Options=0
DisableDefaultDnsSuffixes=0
NumTrustedNetworks=0
NumDnsSearchSuffixes=0
PowershellCreatedProfile=0
ProxyFlags=0
ProxySettingsModified=0
ProvisioningAuthority=
AuthTypeOTP=0
GREKeyDefined=0
NumPerAppTrafficFilters=0
AlwaysOnCapable=0
DeviceTunnel=0
PrivateNetwork=0

NETCOMPONENTS=
ms_msclient=1
ms_server=1

MEDIA=rastapi
Port=VPN3-0
Device=WAN Miniport (IKEv2)

DEVICE=vpn
PhoneNumber=MyAzureGatewayAddress.vpn.azure.com
AreaCode=
CountryCode=0
CountryID=0
UseDialingRules=0
Comment=
FriendlyName=
LastSelectedPhone=0
PromoteAlternates=0
TryNextAlternateOnFail=1

这是在 GUI 中打开连接文件时的样子:

选项选项卡 安全选项卡 证书属性 配置证书选择

windows vpn authentication certificate point-to-site-vpn
  • 1 1 个回答
  • 614 Views

1 个回答

  • Voted
  1. Best Answer
    Keith Stein
    2021-02-25T12:27:22+08:002021-02-25T12:27:22+08:00

    事实证明,问题根本不在于 VPN 配置,甚至不在于证书本身,而在于证书的安装方式。

    我的问题有很多部分,所以我试图从我的问题中省略“不相关”的信息。其中一条信息是我正在使用我开发的自定义软件以编程方式完成整个 VPN 安装。

    似乎这个问题是由于我的程序在以 Administrator 身份运行时安装了客户端证书这一事实引起的。当我尝试从在普通用户上下文(非管理员)中运行的程序安装客户端证书时,不再出现此问题。

    (有关程序化证书安装的更多详细信息,我在 StackOverflow 上发表了这篇文章:X509Certificate2 仅在以管理员身份添加到当前用户存储时暂时有效)

    至于问题的“它在某些设备上工作”部分,我对两个因素感到困惑:

    • 不知何故,以管理员身份安装证书允许它工作 - 但只有在计算机重新启动之前。
    • 我在尝试调试时摆弄了一些计算机,并在其中一些计算机上手动安装了证书。

    因此,我运行自动安装程序的计算机将“工作”,直到重新启动。我碰巧手动安装证书的计算机将无限期地工作,直到我再次尝试运行安装程序,此时它们将回到前一个类别。

    当时我对此一无所知,所以看起来就像“有些工作,有些不工作”。

    • 0

相关问题

  • 知道任何适用于 Windows 的快速可编写脚本的 ftp 客户端吗?[关闭]

  • 如果 Windows 服务崩溃,如何自动重新启动它?

  • 无法安排任务(访问被拒绝)

  • 物理机重启时自动重启虚拟机(VMWare)

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve