无法将客户端连接到景观服务器:证书问题

无法将客户端连接到景观服务器:证书问题

我在新安装的 Ubuntu 14.04 上安装了 Landscape,并尝试用它注册客户端。在尝试注册时,我收到“无法联系服务器”消息,然后返回提示。

我已确定问题是基于证书的。
wget https://servername.domain.com 失败并显示“遇到自签名证书错误”,但
wget https://servername.domain.com --no-check-certificate 工作正常。

因此,基于此,我遵循了以下指南:https://help.landscape.canonical.com/LDS/SSL仍然得到相同的结果。我运行了更新证书命令,它说它更新了我添加的一个证书,但注册和 wget 仍然失败。我接下来可以检查什么?

更多信息:研究这个问题时,我遇到了命令“openssl s_client -connect whateversite.com:443 -debug”。使用 FQDN 运行它返回

gethostbyname failure
connect:errno=0

使用 IP 地址运行时会返回大量信息,但我不知道该如何处理。我注意到几次的是:

depth=0 CN = Landscape
verify error:num=18:self signed certificate
verify return:1

我查看了使用上述指南创建的证书以及 openssl 命令的输出,证书代码的前几位数字不一样。因此,我所用的并尝试注册的机器使用了错误的证书。我尝试使用

landscap-config -k SSL_PUBLIC_KEY

其中公钥指向实际生成的 .crt 文件,但仍未使用该文件来验证景观服务器的身份。

我尝试过运行:

sudo landscape-config --account-name standalone --url https://server.domain.com/message-system --ping-url http://server.domain.com/ping --ssl-public-key=/usr/local/share/ca-certificates/landscape_server_ca.crt

手动指向证书,但得到的仍然是相同的结果。

尝试了 wget 并指向证书:

landscape$ wget https://server.domain.com --certificate=/usr/local/share /ca-certificates/landscape_server_ca.crt
--2016-02-24 14:30:52--  https://server.domain.com 
OpenSSL: error:0906D06C:PEM routines:PEM_read_bio:no start line
OpenSSL: error:140B0009:SSL routines:SSL_CTX_use_PrivateKey_file:PEM lib
Disabling SSL due to encountered errors.

答案1

我将回答对我有用的解决方案,但可能非常具体。我的问题是机器名问题。当我在服务器上运行“hostname”或“hostname -f”时,我得到了响应

servername

但我无法 ping 该服务器 -ping servername失败了。我必须ping servername.local得到响应(请注意,这local不是占位符。如果我的服务器名为“servername”,那么我实际输入的是ping servername.local)。

无论如何,答案是将所有景观配置文件以及通过这些说明创建的 SSL更改servername为。这包括 apache2 配置文件,以及景观配置文件中您指定服务器名称的任何其他地方。此外,从景观客户端连接到。servername.localservername.local

(再次强调,这可能是我的本地网络的一个怪癖,因为我不是管理员,也不太清楚它上面是如何解析名称的。无论如何,我收到了非常相似的错误消息)

答案2

对我来说,问题在于在 Landscape-client 命令中使用 Landscape 服务器 IP 地址。

由于 DNS 不起作用,我无法立即使用服务器主机名代替 IP。

将 Landscape 服务器 IP 和主机名添加到 /etc/hosts 后,注册成功。

相关内容