GPG - 「pacman-key --refresh-keys」が「gpg:キーサーバーの更新に失敗しました:権限が拒否されました」で失敗します。

GPG - 「pacman-key --refresh-keys」が「gpg:キーサーバーの更新に失敗しました:権限が拒否されました」で失敗します。

現在欠落しているキーのため、パッケージのインストールに問題があります。私の最初の計画は私のキーリングを更新することでしたが、「pacman-key --refresh-keys」が失敗しました。

[user@hostname ~]$ sudo pacman-key --refresh-keys 
gpg: refreshing 134 keys from hkp://pool.sks-keyservers.net
gpg: keyserver refresh failed: Permission denied
==> ERROR: A specified local key could not be updated from a keyserver.

また、「su」で実行してみました。

[user@hostname ~]$ su
Password: 
[root@hostname user]# pacman-key --refresh-keys
gpg: refreshing 134 keys from hkp://pool.sks-keyservers.net
gpg: keyserver refresh failed: Permission denied
==> ERROR: A specified local key could not be updated from a keyserver.

エラーがないかどうかを確認するには、dirmngrを手動で実行してください。

[user@hostname ~]$ sudo dirmngr < /dev/null
dirmngr[25316]: error opening '/root/.gnupg/dirmngr_ldapservers.conf': No such file or directory
dirmngr[25316.0]: permanently loaded certificates: 141
dirmngr[25316.0]:     runtime cached certificates: 0
dirmngr[25316.0]:            trusted certificates: 141 (140,0,0,1)
# Home: /root/.gnupg
# Config: [none]
OK Dirmngr 2.2.3 at your service

Arch Linuxフォーラムで、「/root/.gnupg/dirmngr_ldapservers.conf」オープンエラー」の言及を見つけました。そのため、空の "/root/.gnupg/dirmngr_ldapservers.conf"を作成し、dirmngrを再実行しました。 sudoなしでdirmngrを実行すると同様のエラーが発生するため、空の "/home/user/.gnupg/dirmngr_ldapservers.conf"も作成します。

[user@hostname ~]$ sudo dirmngr < /dev/null
dirmngr[28763.0]: permanently loaded certificates: 141
dirmngr[28763.0]:     runtime cached certificates: 0
dirmngr[28763.0]:            trusted certificates: 141 (140,0,0,1)
# Home: /root/.gnupg
# Config: [none]
OK Dirmngr 2.2.3 at your service

[user@hostname ~]$ dirmngr < /dev/null
dirmngr[32757.0]: permanently loaded certificates: 141
dirmngr[32757.0]:     runtime cached certificates: 0
dirmngr[32757.0]:            trusted certificates: 141 (140,0,0,1)
# Home: /home/user/.gnupg
# Config: [none]
OK Dirmngr 2.2.3 at your service

「.gnupg」フォルダをすべて削除し、「pacman-key --init」を実行してから、「pacman-key --refresh-keys」を実行してみてください。

[user@hostname ~]$ sudo rm -rf /root/.gnupg
[user@hostname ~]$ sudo rm -rf /home/user/.gnupg
[user@hostname ~]$ sudo pacman-key --init
[user@hostname ~]$ sudo pacman-key --refresh-keys
gpg: refreshing 134 keys from hkp://pool.sks-keyservers.net
gpg: keyserver refresh failed: Permission denied
==> ERROR: A specified local key could not be updated from a keyserver

2つの ".gnupg"ディレクトリを削除した後、dirmngrを再実行しました。

[user@hostname ~]$ dirmngr --debug-level guru
dirmngr[18151]: enabled debug flags: x509 crypto memory cache memstat hashing ipc dns network lookup extprog
dirmngr[18151]: error opening '/home/user/.gnupg/dirmngr_ldapservers.conf': No such file or directory
dirmngr[18151.0]: permanently loaded certificates: 141
dirmngr[18151.0]:     runtime cached certificates: 0
dirmngr[18151.0]:            trusted certificates: 141 (140,0,0,1)
dirmngr[18151.0]: failed to open cache dir file '/home/user/.gnupg/crls.d/DIR.txt': No such file or directory
dirmngr[18151.0]: creating directory '/home/user/.gnupg'
dirmngr[18151.0]: creating directory '/home/user/.gnupg/crls.d'
dirmngr[18151.0]: new cache dir file '/home/user/.gnupg/crls.d/DIR.txt' created
dirmngr[18151.0]: DBG: chan_3 -> # Home: /home/user/.gnupg
# Home: /home/user/.gnupg
dirmngr[18151.0]: DBG: chan_3 -> # Config: [none]
# Config: [none]
dirmngr[18151.0]: DBG: chan_3 -> OK Dirmngr 2.2.3 at your service
OK Dirmngr 2.2.3 at your service

今私は完全に閉じ込められています。 GPGに必要なファイルに何らかの権限問題がある可能性があると思いますが、「.gnupg」ディレクトリをすべて削除して再生成したことを考慮すると、問題が何であるかはわかりません。

私もこのwikiページですべてを試しました:https://wiki.parabola.nu/Parabola_Keyring「sudo pacman-key --populate archlinux archlinux32 archlinuxarm parabola」コマンドを含むすべてがうまく機能しますが、「pacman-key --refresh-keys」を使用すると依然として権限エラーが発生します。

gpgを直接使用してキーリングを更新しました。

[user@hostname ~]$ sudo gpg2 --refresh-keys
gpg: directory '/root/.gnupg' created
gpg: keybox '/root/.gnupg/pubring.kbx' created

次に、pacman-keyを使用してこれを実行してみてください。

[user@hostname ~]$ sudo pacman-key --refresh-keys
gpg: refreshing 135 keys from hkp://pool.sks-keyservers.net
gpg: keyserver refresh failed: Permission denied
==> ERROR: A specified local key could not be updated from a keyserver.

だから失敗しました。 gpg2を使用して、出力が同じであることを確認してください。

[user@hostname ~]$ sudo gpg2 --refresh-keys

出力がないため、生成されたファイルは現在問題に関連していると思われます。

最後の努力でsudoなしで試しましたが、結果は出ませんでした。

[user@hostname ~]$ gpg2 --refresh-keys

まだそれを捕まえています。 gpg設定ファイルを手動で生成するためにkgpgをインストールした。ただし、このような権限エラーが発生します。

答え1

~/.gnupg/gpg.confでキーサーバーを切り替えます。現在定義されているキーサーバーは404である可能性が高いです。

関連情報