我在新安装的 Ubuntu 16.04 上安装了 Landscape,并尝试用它注册客户端。我们创建了一个 CA 并签署了我们的证书 (https://help.landscape.canonical.com/LDS/SSL)。我们还将该证书添加到了客户端的受信任证书中。
现在我们尝试使用以下命令将我们的客户端(Ubuntu 16.04)连接到服务器:
sudo landscape-config --computer-title "Agent" --account-name standalone --url https://landskap/message-system --ping-url http://landskap/ping --ssl-public-key=/etc/ssl/certs/landscape_server_ca.pem
配置对话框后出现以下错误消息:
服务器的 SSL 信息不正确,或者签名验证失败!如果服务器使用自签名证书,请确保为其提供 --ssl-public-key 参数。
是的,我们的服务器被称为“Landskap”......
我们已经检查了客户,如果有任何其他信息/var/log/landscape/broker.log并发现以下错误条目。
PyCurlError: Error 60: server certificate verification failed. CAfile: /usr/local/share/ca-certificates/landscape_server_ca.crt CRLfile: none
2017-04-18 14:08:38,978 ERROR [MainThread] Message exchange failed: server certificate verification failed. CAfile: /usr/local/share/ca-certificates/landscape_server_ca.crt CRLfile: none
2017-04-18 14:08:38,978 INFO [MainThread] Message exchange failed.
2017-04-18 14:08:38,979 INFO [MainThread] Message exchange completed in 0.17s.
2017-04-18 14:09:38,982 INFO [MainThread] Starting urgent message exchange with https://landskap/message-system.
2017-04-18 14:09:39,149 ERROR [PoolThread-twisted.internet.reactor-0] Error contacting the server at https://landskap/message-system.
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/landscape/broker/transport.py", line 71, in exchange
message_api)
File "/usr/lib/python2.7/dist-packages/landscape/broker/transport.py", line 45, in _curl
headers=headers, cainfo=self._pubkey, curl=curl))
File "/usr/lib/python2.7/dist-packages/landscape/lib/fetch.py", line 109, in fetch
raise PyCurlError(e.args[0], e.args[1])
请帮助我们 :(
答案1
目前无法测试,但快速入门指南建议使用以下行添加证书文件/etc/landscape/client.conf
:
ssl_public_key = /etc/landscape/server.pem
答案2
我刚刚使用快速启动和自签名证书在全新安装的 Landscape 上完成了此操作。
我修复它的步骤是
- 将景观服务器上的 /etc/ssl/certs/landscape_server_ca.crt 中的证书复制到客户端服务器,并将其放入 /etc/landscape 中
- 编辑 /etc/landscape/client.conf 并添加以下行:
ssl_public_key = /etc/landscape/landscape_server_ca.crt
- 再次运行注册请求
答案3
我们发现快速启动安装已经自行生成了证书。无需再生成另一个。只需将证书从复制/etc/landscape/landscape_server.pem
到客户端/etc/landscape/
文件夹即可。@Grayson Kent 的建议是正确的。在配置文件中添加以下行/etc/landscape/client.conf
ssl_public_key = /etc/landscape/landscape_server.pem
答案4
我的问题是 Landscape-Organisation-Settings 下的 IP 是默认 IP,而不是我的服务器。只需更改为我的服务器 IP。当在浏览器中使用服务器 IP 而不是我的域名时,会出现 https 错误,因此我转到我的域名服务并将其指向我的 Landscape 服务器 IP,并使用我的域名而不是服务器 IP。