SEワンタンの独学備忘録

IT関連の独学した内容や資格試験に対する取り組みの備忘録

【Linux】GnuPG(gpgコマンド)による鍵の生成がうまくいかない


お勉強のためにgpg --gen-keyで鍵を生成しようとしたときにちょっと困惑したところを2点ほど。

鍵の生成途中で処理が止まる

gpg --gen-keyコマンドを使用して鍵を生成しようとしたところ以下のようなメッセージのところで処理が止まった。

たくさんのランダム・バイトの生成が必要です。キーボード を打つ、マウスを動かす、ディスクにアクセスするなどの他の操作を素数生成の間に行うことで、乱数生成器に十分なエントロピーを供給する機会 を与えることができます。

止まったように見えたのですが、処理に時間がかかっていただけでした。
正確な時間を測定していなかったのですが1時間ぐらいはかかっていたと思います。
コマンド実行後、しばらく放置しておくのは一つの手です。

環境による問題もあるのかもしれません、私はWindows10ホストマシン上にvmware workstationをインストールして、そこに立てたCentOS7の仮想マシン上で実行しました。

後はパスフレーズを入力したあたりから表示が崩れ、鍵の生成処理終了後もまともに操作できないぐらい変な表示になっていました。が、ログインし直したら鍵は正常に生成されていました。

gpg: ユーザによる取消し

同様に鍵を生成しようとしたところ、以下のようなメッセージが表示され、ユーザ(自分)が取り消した覚えはないのに鍵の生成が途中でキャンセルされてしまう。

gpg: ユーザによる取消し
gpg: 鍵の生成が取り消されました。

英表記なら以下のような感じですかね。

gpg: cancelled by user
gpg: Key generation canceled.

正直ちゃんとは分かっていないです。
が、ターミナルのログイン時のファイルかなんかの所有権の問題っぽい。

ターミナルでログイン後、別のユーザにスイッチしてから鍵の生成を行っていませんか?
gpg --gen-keyコマンドで鍵を生成したいユーザでログインからやり直して再実行で問題解消しました。

参考は以下まで。
security — gpg:ユーザーによってキャンセルされました