1. ホーム
  2. bash

[解決済み] gpg キーボード操作なしでファイルを暗号化する [閉じた] 。

2023-05-26 22:17:17

質問

私はファイルを暗号化するためにcrontabの中で次のコマンドを実行していますが、キーボードのインタラクションは必要ありません。

echo "PASSPHRASE" | gpg --passphrase-fd 0 -r USER --encrypt FILENAME.TXT

が、こんな答えが返ってきました。

gpg: C042XXXX: There is no assurance this key belongs to the named user

pub  40XXX/C042XXXX 2012-01-11 Name LastName. (comment) <[email protected]>
 Primary key fingerprint: XXXX XXXX XXXX XXXX XXXX  XXXX XXXX XXXX XXXX XXXX
      Subkey fingerprint: XXXX XXXX XXXX XXXX XXXX  XXXX XXXX XXXX XXXX XXXX

It is NOT certain that the key belongs to the person named
in the user ID.  If you *really* know what you are doing,
you may answer the next question with yes.

Use this key anyway? (y/N) 

どのように解決するのですか?

David が示唆したように、ここでの問題は、暗号化に使用する公開鍵を gpg が信用していないことです。彼が説明したように、鍵に署名することができます。

別の方法として、特に鍵が時々変更されるような場合は、暗号化された鍵の上に --trust-model always を gpg コマンドに追加することです。

以下は、マニュアルページからの関連部分です。

--trust-model pgp|classic|direct|always|auto

     Set what trust model GnuPG should follow. The models are:

     pgp    This is the Web of Trust combined with trust signatures as used in
            PGP 5.x and later. This is the default trust model when creating a
            new trust database.

     classic
            This is the standard Web of Trust as used in PGP 2.x and earlier.

     direct Key validity is set directly by the user and  not  calculated  via
            the Web of Trust.

     always Skip  key  validation  and  assume that used keys are always fully
            trusted. You generally won't use this unless you  are  using  some
            external  validation  scheme.  This  option  also  suppresses  the
            "[uncertain]" tag printed with signature checks when there  is  no
            evidence that the user ID is bound to the key.

     auto   Select  the  trust  model depending on whatever the internal trust
            database says. This is  the  default  model  if  such  a  database
            already exists.