私はCentos7システムでホストされている適切なリポジトリに使用されるGPGキーを生成しようとしています。新しいユーザー「apt」を生成してから鍵を生成しようとしましたが、最終的にパスワードフレーズが必要であると指定されていましたが、ユーザーがキャンセルしたというメッセージはすぐに閉じました。いいえ、そうではありません!
それ以来、私はホイールグループのルートと標準のユーザー名を使用して同じ手順を正常に繰り返しました。
2つの質問:
- 他の目的(たとえば、適切なリポジトリ)に別のgpgキーを使用するのは良い考えですか?そして、キーをルートとして生成する必要がありますか?
- このユーザーのGPGキーを生成できないのはなぜですか?まず、このユーザーの別のキーを生成する必要がありますか?
ありがとう
[apt@devserver ~]$ gpg --gen-key
gpg (GnuPG) 2.0.22; Copyright (C) 2013 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Please select what kind of key you want:
(1) RSA and RSA (default)
(2) DSA and Elgamal
(3) DSA (sign only)
(4) RSA (sign only)
Your selection?
RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048)
Requested keysize is 2048 bits
Please specify how long the key should be valid.
0 = key does not expire
<n> = key expires in n days
<n>w = key expires in n weeks
<n>m = key expires in n months
<n>y = key expires in n years
Key is valid for? (0) 1y
Key expires at Thu 12 Jul 2018 04:32:05 PM UTC
Is this correct? (y/N) y
GnuPG needs to construct a user ID to identify your key.
Real name: somename
Email address: [email protected]
Comment:
You selected this USER-ID:
"somename <[email protected]>"
Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O
You need a Passphrase to protect your secret key.
gpg: cancelled by user
gpg: Key generation canceled.
[apt@devserver ~]$
答え1
「ユーザーがキャンセルしました」エラーの場合:GnuPGは(たとえば)パイプを介して標準入力からパスワードを読み取るのではなく、端末から直接パスワードを読み取ることを確認しようとします。これを行うには、ttyを直接開こうとします。残念ながら、ファイル権限が邪魔になります。 ttyデバイスはログインしたユーザーが所有します。したがって、このユーザーとルートのみがそれを開くことができます。 GnuPGはキャンセルしたとエラーを誤って報告しているようです(実際には権限が拒否されました)。
リポジトリに別々のキーが必要かどうかはそうです。いくつかの理由が浮かんでいます。
- リポジトリは複数の人が管理できます。すべてアクセスキーが必要です。あなたは明らかに彼らがあなたの秘密鍵にアクセスしたくないでしょう。
- 新しいパッケージを処理するソフトウェアにはアクセスキーが必要です。多くのリポジトリの場合、これはインターネットに接続されているコンピュータでキーを使用できるようにする必要があることを意味します。これには、秘密鍵に理想的なものよりも低いレベルのセキュリティが必要です。
- アップロードを自動的に処理する場合は、パスワードなしでキーを保存する必要があります。当然、セキュリティが低下します。
- 秘密鍵が破損している場合は、それをキャンセルするのが最善です。ストレージキーの漏洩と同じです。破損したキーをキャンセルする方が安くなります。
秘密鍵を使用してストレージ鍵に署名するのが一般的です。
キー生成をrootとして実行する場合:理想的ではありませんが(rootとして実行しない理由はありません)、実際の問題ではありません。
答え2
今日はこんなことを経験しました。確立されたscreen
まだインストールされていない場合は、ソリューションをインストールし続けます。
sudo yum install screen
次に、キーを生成する必要があるユーザー(通常はApacheを実行しているユーザー)でscreenを実行してから実行します。
gpg --gen-key
これにより、スクリーンセッションにパスワードプロンプトが表示されます。その後、Enter キーを押してexit
スクリーンセッションを終了します。長く生きる
答え3
今この質問に答えるには遅すぎるかもしれませんが、1つのオプションは
export GPG_TTY=$(tty)
パスワードプロンプトとして使用するttyをGPGに通知することです。
答え4
SSHを介してuser1としてログインし、コマンドを使用してuser2に切り替えてからキーを生成しようとしたときにsu - user2
同じ問題が発生しました。問題を解決するには、新しい端末を開き、user2としてサーバーにSSHを介して接続し、次のコマンドを実行します。
gpg --gen-key