Linux 客户端从 Windows NPS 服务器请求证书

Posted

技术标签:

【中文标题】Linux 客户端从 Windows NPS 服务器请求证书【英文标题】:Linux client request certificates from windows NPS server 【发布时间】:2016-12-10 15:49:32 【问题描述】:

我正在使用手册 https://networklessons.com/wireless/peap-and-eap-tls-on-server-2008-and-cisco-wlc/ 设置 EAP-TLS 身份验证。

我的服务器和客户端详细信息如下:

服务器:NPS 2008

客户端:Linux

我在 NPS 服务器上生成了服务器证书以及 CA 证书。我将 CA 证书导入到 Linux 服务器,但在此之后,我使用的手册告诉我使用 Web 浏览器登录服务器的 IP 并从那里请求客户端证书。这是我被困的部分。

我试过 curl -k https:// 但这返回了一个错误:

curl:(7) 无法连接到主机错误。

任何帮助将不胜感激。

【问题讨论】:

更新:我使用 openssl 在客户端 (linux) 生成服务器、客户端和 CA 证书,并将 CA、服务器证书和服务器密钥组合到一个 .pfx 文件中,并使用将其导入 NPS 服务器MMC。但是连接被卡在“关联”中。从wireshark 捕获我看到服务器向控制器(WLC)发送访问拒绝。任何帮助将不胜感激。 【参考方案1】:

你检查了吗:

httpd 正在服务器上运行 httpd 正在侦听端口 443 上的 TCP(我喜欢 MS 的 ProcessMonitor) https://localhost/ 从 NPS 服务器(对其自身)的访问按预期工作 服务器上的防火墙已关闭或允许正确的 https 访问 网络接口 https://ip_address/ 从 NPS 服务器访问(到 本身)按预期工作 https 访问可以从另一个客户端上运行 同一个局域网段

【讨论】:

Daniel 我可以设置 PEAP-MsCHAP ,所以你在服务器端提到的东西很好。当我从服务器尝试ip_address_server时,它打开了一个IIS7 Internet信息服务页面。 对我来说这听起来像是防火墙问题,Sid。如果您可以从服务器访问ip_address,但不能从客户端访问,那么由于网络问题(这可能不太可能),任一客户端都无法访问服务器,或者服务器看到的客户端请求与来自服务器的相同请求。尝试为防火墙打开调试日志记录。 Daniel 我检查了防火墙设置,一切正常。仍然面临这个问题。 好的,所以你说在wireshark中,服务器正在发送访问拒绝。对于您发送的简单 https get,它可以在服务器上运行,您不需要输入密码或客户端密钥(稍后会出现)。如果有,您在服务器上的请求也将被拒绝。因此,服务器会根据请求进入的网络端口或请求的 MAC 或 IP 地址来拒绝。如果您再次使用wireshark,您能否看到您的ip_address 请求以确保它来自指定端口,而不仅仅是发出环回请求? 如果您可以在 Wireshark 中看到两个请求(来自客户端和来自服务器)都到同一个网络端口,然后寻找差异,但我怀疑它只不过是 MAC/IP 地址.这导致域控制器不想为某些地址提供服务。

以上是关于Linux 客户端从 Windows NPS 服务器请求证书的主要内容,如果未能解决你的问题,请参考以下文章

内网穿透nps初始使用-简单记录

内网穿透nps初始使用-简单记录

保姆级教学 nps内网穿透实现Windows远程桌面 宝塔

保姆级教学 nps内网穿透实现Windows远程桌面 宝塔

NPS自动注册AD服务器

NPS服务器搭建与autofs自动挂载