Centos7ボックスでホストされているaptリポジトリに使用されるGPGキーを作成しようとしています。新しいユーザー「apt」を作成し、キーを作成しようとしましたが、最終的にはパスフレーズが必要であることが示されましたが、ユーザーによってキャンセルされたと即座に閉じました。いいえ、違います!
私はそれ以来、これらの同じステップをrootに、そしてWheelsグループにある標準のユーザー名として、繰り返し成功させています。
2つの質問:
ありがとう
[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 ~]$
「ユーザーによるキャンセル」エラーについて:GnuPGは、(たとえば)stdinからパイプされるのではなく、ターミナルから直接パスフレーズを読み取っていることを確認しようとします。これを行うには、ttyを直接開こうとします。残念ながら、ファイルのアクセス許可は邪魔になります— ttyデバイスは、ログインしたユーザーが所有しています。したがって、そのユーザーとrootだけがそれを開くことができます。 GnuPGは、エラーを誤って報告しているようです。キャンセルしたと言っています(実際には、アクセスが拒否されました)。
リポジトリ用の個別のキーが必要かどうかについては、はい。頭に浮かぶ理由はいくつかあります。
個人キーを使用してリポジトリキーに署名するのはごく普通のことです。
鍵生成をrootとして実行することについて:理想的ではありません(正当な理由なしにrootとして実行しないでください)が、実際には問題にならない可能性があります。
これに答えるのはおそらく遅すぎますが、オプションの1つは、export GPG_TTY=$(tty)
を使用して、パスフレーズプロンプトに使用するttyをGPGに通知することです。