gpg --gen-key hang untuk mendapatkan entropi pada centos 6

49

Mencoba menghasilkan kunci untuk server.

gpg --gen-key

Kita perlu menghasilkan banyak byte acak. Merupakan ide yang baik untuk melakukan beberapa tindakan lain (ketik pada keyboard, gerakkan mouse, gunakan disk) selama generasi utama; ini memberikan generator angka acak peluang yang lebih baik untuk mendapatkan entropi yang cukup.

dan itu hanya menggantung di sana.

Ada kesalahan lain:

tidak dapat terhubung ke `/root/.gnupg/S.gpg-agent ': Tidak ada file atau direktori tersebut

yang tampaknya hilang setelah:

gpg-agent --daemon
GPG_AGENT_INFO = / tmp / gpg-4c5hyT / S.gpg-agent: 1397: 1; ekspor GPG_AGENT_INFO;

#GPG_AGENT_INFO=/tmp/gpg-4c5hyT/S.gpg-agent:1397:1; export GPG_AGENT_INFO;
gpg --gen-key
...

tetapi sekali lagi, itu tergantung pada "... mendapatkan cukup entropi".

Tidak ada "+++++++++++++++++++++++++++++++++++++++++++" yang dari posting forum sepertinya harus diharapkan ketika kunci dibuat.

Saya telah mencoba menginstal ulang paket, tetapi tampaknya semuanya tergantung pada gpg.

Saya telah membaca orang lain yang memiliki masalah dengan ini pada centos 6 juga (sedangkan centos 5 berfungsi dengan baik).

Tidak ada yang luar biasa di sini /var/log/*.

Ada ide ke mana harus pergi dari sini?

Terima kasih.

stormdrain
sumber
rng-tools hanya solusi jika Anda memiliki HSM, jawaban yang merekomendasikan ini akan gagal pada sistem tanpa ini. Anda akan melihat pesan seperti: Memulai Perangkat Keras RNG pengumpul entropi pengumpul: (Perangkat hardware RNG tidak ditemukan)
JohnErinthen

Jawaban:

49

Ketika gpg --gen-keyperintah hang seperti ini, masuk ke shell lain dan lakukan perintah berikut:

dd if=/dev/sda of=/dev/zero

(Perintah ini pada dasarnya membaca dari hard drive Anda dan membuang output, karena menulis ke /dev/zerotidak akan melakukan apa-apa.)

Setelah beberapa detik / menit, perintah pembuatan kunci akan selesai.

John
sumber
2
Luar biasa. Terima kasih. Saya tidak percaya saya melewatkan bagian manual itu: /
stormdrain
2
Akan lebih baik untuk mengambil entropi yang berbeda setiap kali. Jika sistem Anda terus-menerus kehabisan entropi maka ada sesuatu yang sangat salah dengan konfigurasi Anda atau Anda menggunakan entropi dengan sangat cepat (ke titik di mana Anda harus memiliki perangkat keras RNG). Jika Anda membutuhkan lebih banyak entropi secara teratur, ada tempat yang valid untuk sekadar mengunduh lebih banyak, seperti Quantum RNG Humboldt-Universität .
Chris S
19
Saya sebenarnya sudah mencoba ini, tetapi karena saya tidak punya root, saya tidak bisa mengakses / dev / sda secara langsung. Apa yang berhasil bagi saya adalahfind / | xargs file
carl.anderson
2
Saya lebih nyaman berlari find / | xargs filedaripada dd if=/dev/sda of=/dev/zerodan setelah satu menit selesai. Terima kasih!
Lea
1
Apakah yang Anda maksud of=/dev/null?
maxschlepzig
22

Untuk solusi yang lebih andal, Anda dapat menginstal utilitas terkait nomor acak generator, yang akan memastikan bahwa Anda selalu memiliki cukup byte acak.

yum install rng-tools

lalu edit /etc/sysconfig/rngddan tambahkanEXTRAOPTIONS="-r /dev/random"

Mulai layanan

 service rngd start

Voila dan kamu hidup bahagia selamanya :)

golja
sumber
5
Jika Anda tidak ingin memulai layanan, Anda bisa menjalankannya rngd -r /dev/randomsebagai root setelah rng-toolsdiinstal. Generasi kunci Anda akan segera lepas landas.
davidjb
2
Tapi itu sendiri tidak menghasilkan entropi.
Otheus
7

Kedua komentar yang diberikan sebelumnya baik-baik saja. Tapi di sini hanya 2 sen saya.

Masalah dengan RHEL / centos 6 dan entropi adalah mereka adalah kernel yang tidak berdetak. Jadi, dengan sendirinya, kernel ini tidak menghasilkan cukup entropi. Anda harus memasang keyboard atau gerakan mouse atau menggunakan dd seperti yang disebutkan.

daemon rngd mengagumkan dan sebagian besar entitas komersial menggunakannya.

Namun, pendekatan terbaik yang saya lihat adalah penggunaan perangkat TPM khusus. Mereka adalah perangkat keras kecil yang cukup mahal. Anda menempatkan mereka dan rngd menggunakan entropi benar acak dari sumber perangkat keras. Sejauh yang saya tahu, Fujitsu memiliki beberapa perangkat TPM yang bagus.

Ya, ketiga metode ini cukup banyak membahas bagian entropi.

Soham Chakraborty
sumber
Sangat menarik. Terima kasih. Seperti yang saya sebutkan kepada Chris, saya akan memiliki akses ke HSM segera yang datang dengan RNG.
stormdrain
4

Putar pada respons lain tetapi setidaknya satu liner dan bukan root.

((find / | xargs file) &> /dev/null &); gpg2 --gen-key --batch --passphrase-file output-key.txt key-gen-options.txt

Key-gen-options berisi

Key-Type: 1
Key-Length: 2048
Subkey-Type: 1
Subkey-Length: 2048
Name-Real: myuser
Name-Email: [email protected]
Expire-Date: 0

Output-key.txt berisi kunci super rahasia saya.

Dave Brunkow
sumber
3

EXTRAOPTIONS = "- r / dev / urandom" berfungsi untuk saya alih-alih EXTRAOPTIONS = "- r / dev / random"

Marjo Mercado
sumber
1

Bagaimana saya melakukannya:

  1. pacman -S community/rng-tools
  2. vim /etc/conf.d/rngd menambahkan RNGD_OPTS="-r /dev/urandom"
  3. systemctl enable --now rngd
  4. gpg-agent --daemon
  5. gpg --full-gen-key

Bekerja bahkan ketika $GNUPGHOMEdiatur untuk menunjuk ke direktori khusus.


sumber
1

Saya sudah mencoba semua solusi, dan menemukan bahwa itu havegedbekerja paling baik bahkan ketika orang lain tidak bekerja (terutama pada server tanpa kepala yang tidak memiliki banyak input atau aktivitas pengguna).

yum install haveged

apt install haveged

Ini memulai havegedlayanan daemon yang akan tetap /dev/randompenuh dengan entropi. --key-genharus selesai dalam waktu kurang dari satu menit.

Anda dapat memverifikasi dengan menjalankan cat /dev/random. Biasanya, itu akan cepat kehabisan entropi dan jeda. Itu sebabnya --key-genhang. Tetapi setelah menginstal haveged, cat /dev/randomharus memberikan output terus menerus.

Wisbucky
sumber