我在一台 Debian(lenny)机器上设置了一个 VPN 服务器。每次尝试连接时,我都会收到错误 778:“无法验证服务器的身份”。我对照此站点检查了配置,并设置了一台副本机器来设置它并在那里进行测试。在两台 Debian 机器上,我都收到 778。
奇怪的是,使用 CHAP 机密文件时不会出现此错误;只有使用 winbind(以便通过 Active Directory 进行身份验证)时才会出现此错误。但我们需要 AD 身份验证来确保我们环境中的安全。除了更新我的证书外,我没有找到有关此主题的任何文献:
# dpkg-reconfigure ca-certificates
我做到了。
提出这个问题,为什么我会收到 778 错误以及如何修复 Debian 机器上的该错误?
编辑:我发现这个http://www.schneier.com/paper-pptpv2.pdf. MS-CHAPv2 的工作原理:
- 客户端向服务器请求登录质询。
- 服务器发回一个16字节的随机质询。
- 客户端生成一个随机的 16 字节数字,称为“对等身份验证器挑战”。
- 客户端通过对步骤 (2) 中收到的 16 字节挑战、步骤 (4) 中生成的 16 字节对等身份验证器挑战以及客户端的用户名进行哈希处理来生成 8 字节挑战。
- 客户端使用 Windows NT 哈希函数和步骤 (4) 中生成的 8 字节质询创建一个 24 字节的回复。此过程与 MS-CHAPv1 相同。
- 客户端向服务器发送步骤(3)和(5)的结果。
- 服务器使用存储在数据库中的客户端密码哈希值来解密回复。如果解密的块与质询匹配,则客户端通过身份验证。
- 服务器使用来自客户端的 16 字节对等身份验证器质询以及客户端的散列密码来创建 20 字节的“身份验证器响应”。
- 客户端还计算身份验证器响应。如果计算出的响应与收到的响应匹配,则服务器通过身份验证。
那么我猜想 Debian 机器没有发送 16 字节的 Authenticator Challenge 或者它没有正常工作。有什么原因会导致这个问题吗?如果是,我该怎么做才能修复它?
答案1
我找到了!这个错误是 SAMBA 的一个错误,详细这里。squeeze
和lenny
机器都使用 samba 3.4.8。我通过http://backports.debian.org并且成功了!