コンピュータエラーが発生した後、Vogバックアップストアからデータを復元しました。
私の~/.gnupg
フォルダは大丈夫に見え、秘密鍵もあり、権限も正しいようです。一般的に、Borgはこれをすばらしく行います。秘密鍵ファイルを確認してみると、cat
データが破損した兆候はありません。
ただし、秘密鍵をリストまたは使用することはできません。pacman
インストール中にインポートされた公開鍵とのみ対話できます。
あるコンピュータから別のコンピュータにコピーした後、秘密鍵が認識されない問題に対処するいくつかの同様の投稿を見ました。通常、転送を再利用してgpg —export-key
から、反対のコマンドを使用してインポートするようアドバイスすることで問題が解決します。
残念ながら、私の古い機械が故障して回復することができないので、私にはそのような余裕はありません。私はキーのインポートとエクスポートについて知っていますが、常にキーを移動する安全なプロセスにすぎないと思いました。
だから、2つの質問があります。
バックアップスクリプトを確認し、GPGキーのエクスポートコマンドを使用する必要がありますか?
それでもキーを回復できますか?
=======編集======
私が一つ見つけた郵便はがきアーチフォーラムで私と同じ問題を抱えているユーザーがいて、従うべきいくつかの手がかりを得ました。
私が今まで試したこと:
gpg --version
> gpg (GnuPG) 2.4.5
ps aux | grep gpg-a
> /usr/bin/gpg-agent --supervised
#About ownership:
chown -R $USER:$USER .gnupg
# Checking UID/GID with show a result of `1000` both on filesystem # # and backup archive.
ls -vn .gnupg/private-keys-v1.d
gpg --export-secret-keys
> gpg: WARNING: nothing exported
gpg -v --list-secret-keys
> gpg: enabled compatibility flags:
> gpg: using pgp trust model
# Most relevant results of:
strace -f -o /tmp/gpg.strace gpg --list-secret-keys
cat /tmp/gpg.strace
> 76220 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
> 76220 access("/home/$USER/.gnupg/secring.gpg", F_OK) = -1 ENOENT (No such file or directory)
# Listing public keys
gpg --list-keys
> Returns one public key imported by pacman during install
gpg -K
> Returns nothing
ls -ln .gnupg/
.rw-r----- 12 1000 13 Mar 10:45 common.conf
drwx------ - 1000 6 Sep 2023 crls.d
.rw------- 2.0k 1000 13 Sep 2023 gpg-agent.conf
.rw------- 703 1000 5 Mar 18:48 gpg.conf
drwx------ - 1000 30 Aug 2023 private-keys-v1.d
drwxr-x--- - 1000 14 Mar 19:27 public-keys.d
.rw-r--r-- 0 1000 24 Aug 2023 pubring.gpg
.rw-r--r-- 7.7k 1000 5 Mar 12:13 pubring.kbx
.rw-r--r-- 7.0k 1000 7 Sep 2023 pubring.kbx~
.rw------- 600 1000 8 Mar 07:20 random_seed
.rw-r----- 676 1000 30 Aug 2023 sshcontrol
.rw------- 1.6k 1000 2 Sep 2023 trustdb.gpg
答え1
今ガルーダ kdeをインストールしようとしているが、まだ把握していないいくつかのデフォルトのgpg設定が含まれていることがわかりました。
とにかく、一部のプロセスは常にデフォルトのフォルダを再作成していることがわかりました.gnupg
。すべてのgpg関連システムサービス(主におよびgpg-agent.service
)をユーザーとrootとして無効にしてgpg-agent.socket
から、gpgエージェントが責任を負うとは限りませんkillall gpg-agent
。
実際、私はバックアップから私のgpgフォルダを復元せずに自動的に作成されたフォルダとマージしましたが、何らかの理由で動作しません。
最後に、犯人を確実に見つけるためにrm -rf
スクリプトを使用してバックアップからフォルダを復元し、どのプロセスでもフォルダを再作成する時間がないようにすることができます。
それ以来、うまく動作しています。