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])
助けてください:(
現在テストできませんが、 クイックスタートガイド は、次の行で証明書ファイルを/etc/landscape/client.conf
に追加することを提案しています。
ssl_public_key = /etc/landscape/server.pem
私も最近、この問題に苦労しました。しかし、私にとって、限られた問題の説明に提供された解決策は正しい道ではありませんでした。
このまったく同じエラーコードの問題は、SSL証明書の有効期限が切れたことです。 http://realworldnumbers.com/ubuntu-landscape-problems/ のブログで問題を特定するために、私の経験とトラブルシューティング手順をご覧ください。
基本的に、
いずれかのクライアントシステムでブローカーログを確認します。
tail -n 100 /var/log/landscape/broker.log | grep certificate
エラー60が表示される場合は、curlを使用して証明書を確認してください。 curlコマンドを使用して、LandscapeサーバーのIPアドレスに証明書を検証します。私の場合、これは:
$ curl https://192.168.168.67/message-system
curl: (60) server certificate verification failed.
OpenSSLを使用して、証明書チェーンに関する特定の詳細を確認します。
openssl s_client -connect 192.168.168.67:443
私の場合、期限切れの証明書を示すこの出力の重要な部分は次のとおりです。
Verify return code: 10 (certificate has expired)
verify error:num=10:certificate has expired
notAfter=Sep 23 00:00:19 2017 GMT
そのため、 ランドスケープヘルプドキュメント の手順を使用して、新しい証明書を生成して署名する必要があります。ここでの推奨事項は、30年のCAと証明書を生成することです。デフォルトは1年で、毎年証明書を更新することは考えられません。 Landscape自体には、この期限切れの証明書に対する警告アラートはないようです。
クイックスタートのインストールでは、すでに自分で証明書を生成していることがわかりました。別のものを生成する必要はありません。証明書を/etc/landscape/landscape_server.pem
からクライアントの/etc/landscape/
folderにコピーするだけです。 @Grayson Kentの推奨は正しかった。 / etc/landscape/client.confssl_public_key = /etc/landscape/landscape_server.pem
の設定ファイルに次の行を追加します
クイックスタートと自己署名証明書を使用して、Landscapeの新しいインストールでこれを実行しました。
私がそれを修正するために経験した手順は
ssl_public_key = /etc/landscape/landscape_server_ca.crt