web-dev-qa-db-ja.com

Ubuntu Landscape-サーバー証明書の検証に失敗しました

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
Jonas Mock

現在テストできませんが、 クイックスタートガイド は、次の行で証明書ファイルを/etc/landscape/client.confに追加することを提案しています。

ssl_public_key = /etc/landscape/server.pem
2
Grayson Kent

私も最近、この問題に苦労しました。しかし、私にとって、限られた問題の説明に提供された解決策は正しい道ではありませんでした。

このまったく同じエラーコードの問題は、SSL証明書の有効期限が切れたことです。 http://realworldnumbers.com/ubuntu-landscape-problems/ のブログで問題を特定するために、私の経験とトラブルシューティング手順をご覧ください。

基本的に、

  1. いずれかのクライアントシステムでブローカーログを確認します。

    tail -n 100 /var/log/landscape/broker.log | grep certificate
    
  2. エラー60が表示される場合は、curlを使用して証明書を確認してください。 curlコマンドを使用して、LandscapeサーバーのIPアドレスに証明書を検証します。私の場合、これは:

    $ curl https://192.168.168.67/message-system
    curl: (60) server certificate verification failed.
    
  3. 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自体には、この期限切れの証明書に対する警告アラートはないようです。

0

クイックスタートのインストールでは、すでに自分で証明書を生成していることがわかりました。別のものを生成する必要はありません。証明書を/etc/landscape/landscape_server.pemからクライアントの/etc/landscape/folderにコピーするだけです。 @Grayson Kentの推奨は正しかった。 / etc/landscape/client.confssl_public_key = /etc/landscape/landscape_server.pemの設定ファイルに次の行を追加します

0
Jonas Mock

クイックスタートと自己署名証明書を使用して、Landscapeの新しいインストールでこれを実行しました。

私がそれを修正するために経験した手順は

  1. 証明書をランドスケープサーバー上の/etc/ssl/certs/landscape_server_ca.crtからクライアントサーバーにコピーし、/ etc/landscapeに配置します。
  2. /etc/landscape/client.confを編集し、次の行を追加します:ssl_public_key = /etc/landscape/landscape_server_ca.crt
  3. 登録リクエストを再度実行します
0
Mick Kerr