webdevqa.jp.net

gpg:ユーザーによってキャンセルされました

Centos7ボックスでホストされているaptリポジトリに使用されるGPGキーを作成しようとしています。新しいユーザー「apt」を作成し、キーを作成しようとしましたが、最終的にはパスフレーズが必要であることが示されましたが、ユーザーによってキャンセルされたと即座に閉じました。いいえ、違います!

私はそれ以来、これらの同じステップをrootに、そしてWheelsグループにある標準のユーザー名として、繰り返し成功させています。

2つの質問:

  1. このaptリポジトリなどのさまざまな用途に異なるgpgキーを使用することは良い考えですか?キーは常にルートとして作成する必要がありますか?
  2. このユーザーのgpgキーを作成できないのはなぜですか?最初にこのユーザー用の他のキーを作成する必要がありますか?

ありがとう

[[email protected] ~]$ 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.
[[email protected] ~]$
3
user1032531

「ユーザーによるキャンセル」エラーについて:GnuPGは、(たとえば)stdinからパイプされるのではなく、ターミナルから直接パスフレーズを読み取っていることを確認しようとします。これを行うには、ttyを直接開こうとします。残念ながら、ファイルのアクセス許可は邪魔になります— ttyデバイスは、ログインしたユーザーが所有しています。したがって、そのユーザーとrootだけがそれを開くことができます。 GnuPGは、エラーを誤って報告しているようです。キャンセルしたと言っています(実際には、アクセスが拒否されました)。

リポジトリ用の個別のキーが必要かどうかについては、はい。頭に浮かぶ理由はいくつかあります。

  • リポジトリは複数の人が管理できます。それらのすべてがキーにアクセスする必要があります。あなたは明らかに彼らにあなたの個人キーへのアクセスを与えたくないでしょう。
  • 新しいパッケージを処理するソフトウェアは、キーにアクセスする必要があります。多くのリポジトリでは、インターネットに接続されたマシンでキーを使用できる状態にしておく必要があります。これは、理想的にはあなたの個人キーに対して持っているよりも低いレベルのセキュリティを必要とします。
  • アップロードを自動的に処理している場合は、パスフレーズなしでキーを保存する必要がある場合もあります。明らかにセキュリティが低下します。
  • 個人キーが侵害された場合は、取り消すだけでよいのです。リポジトリキーの侵害と同じです。侵害されたキーの取り消しをより安くします。

個人キーを使用してリポジトリキーに署名するのはごく普通のことです。

鍵生成をrootとして実行することについて:理想的ではありません(正当な理由なしにrootとして実行しないでください)が、実際には問題にならない可能性があります。

12
derobert

これに答えるのはおそらく遅すぎますが、オプションの1つは、export GPG_TTY=$(tty)を使用して、パスフレーズプロンプトに使用するttyをGPGに通知することです。

0
Ankit Jain