web-dev-qa-db-ja.com

ナット(UPS)およびSSL証明書

今日、nutをUbuntuサーバー(Ubuntu 14.04 LTS)にインストールしました。

$ uname -a
Linux boson 3.13.0-24-generic #47-Ubuntu SMP Fri May 2 23:30:00 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

UPSは別のサーバー(neutronと呼ばれる)に接続されているので、nut-clientを使用してUPSの状態を監視します。

Sudo upsc [email protected]を実行すると、次のメッセージが表示されます。

Init SSL without certificate database
battery.charge: 15
battery.charge.low: 10
battery.charge.warning: 50
battery.date: not set
battery.mfr.date: 2012/11/27
:

出力の最初の行は私に関するものです。 Debianベースのサーバー上のnutの他のインストールでは、これを見たことはありません。

その行を削除するにはどうすればよいですか?

編集:この「証明書データベースなしのSSLの初期化」は、upscの出力の一部ではなく、したがってgrepを出力できないため、非常に面倒です。

EDIT(2):明確にするために、 (Synology)サーバー(UPSと直接通信する)がSSLまたは証明書でセットアップされていない。ネットワーク上の他の(Debian/Raspbian)クライアントには、上記の問題はありません。 SSL証明書がインストールされていません(私が知る限り)

サーバーまたはクライアントのfind / |grep cert_dbは結果を生成しません。

5
Mausy5043

問題は2.7.1で追加されたnutの新しいNSSバックエンドが原因です( 2.6.5から2.7.1への変更 )。クライアントは最初にSTARTTLSコマンドでtcp/3943に接続しようとし、upsdからERR FEATURE-NOT-CONFIGUREDを取得するため、その警告が表示されます。

この変更の理由は、パスワードを平文でネットワーク経由で送信し、それを防ぐために開発者がSSL証明書サポートを追加したことです。結局のところ、クライアントはうるさいです。

エラーメッセージは実際にはクライアントからですが、エラー出力(stderr)からのものであるため、grepで除外できません。

問題を解決する最も簡単な方法は、適切にパイプすることです。

upsc [email protected] 2>&1 | grep -v '^Init SSL'

または、出力の一部だけを使用している場合など。 RRDグラフでcron出力にゴミが入っていた場合は、2>&1を追加するだけで、通常の行になります。

upsc [email protected] 2>&1 | grep 'battery.charge:' | awk ...

これを修正するそれほど簡単ではない方法は、 9。NUTの保護に関する注意| SSLの構成| NSSバックエンドの使用法 で説明されているように、SSL証明書とその他のものを実際に構成することです。

5
Ender

(私のような他の人がGoogle経由でアクセスする場合)

適切な出力リダイレクトを実行して、警告メッセージを除外します。

upsc [email protected] > /dev/stdout 2> /dev/null
2
lifeofguenter

証明書データベースの場所を強調し、クライアントが使用する証明書と(公開)キーに関連付けられた秘密キーを解読するためのパスワードをupsd.confを編集して伝える必要があります。

  1. CERTPATH/usr/local/ups/etc/cert_db
  2. CERTIDENT '証明書名' 'データベースパスワード'
1
user284234