Saya punya banyak proses yang berjalan di latar belakang untuk mencoba dan mendapatkan cukup entropi, tetapi saya masih gagal.
**We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
Not enough random bytes available. Please do some other work to give
the OS a chance to collect more entropy! (Need 210 more bytes)**
Saya memerlukan metode untuk menghasilkan kunci yang berfungsi, karena apa yang saya coba lakukan ternyata gagal.
sudo apt-get install rng-tools
jika Anda menggunakan Ubuntu dan bukansudo yum install rng-utils
seperti yang mereka miliki untuk Fedora, karena tidakrng-utils
ada paket untuk Ubuntu.rng-tools
pada Fedora dan EL6, jadi saya curiga kesalahan ketik pada artikel yang ditautkan. BTW, itu ide yang baik untuk memberikan bagian-bagian penting dari jawaban di sini, dan tautan untuk referensi, jika tautannya mati di masa mendatang.Saya dapat menghasilkan kunci dengan
Di jendela SSH lain terbuka
Kembali ke sesi SSH pertama Anda dan jalankan
Biarkan ini berjalan sampai gpg menghasilkan kunci Anda!
sumber
/dev/urandom
untuk menghasilkan kunci yang penting./dev/random
ini adalah kesalahan desain. Seharusnya hanya akan memblokir pada pemanggilan pertama (pernah) (saat boot pertama) ketika belum ada entropi yang dikumpulkan. Seperti yang dilakukannya pada OS lain. Sebaliknya, kita punya dua kolam sekarang. Tidak pernah menggunakannya/dev/random
tidak memiliki kelebihan.Untuk memeriksa jumlah byte entropi yang tersedia saat ini, gunakan
Ember entropi berukuran 4096 byte, yang dapat dengan cepat habis.
Dengan menggunakan alat 'readspeed' kecil ini ( http://1wt.eu/tools/readspeed/ ), Anda dapat mengukur seberapa cepat ember entropi diisi dengan metode yang berbeda.
Misalnya, luncurkan:
dan gerakkan mouse Anda. Anda akan melihat bahwa 'readspeed' mengosongkan ember entropi segera setelah diisi, dan ketika Anda menggerakkan mouse, isinya sedikit terisi.
Mencoba metode yang berbeda, tampaknya input keyboard dan gerakan mouse adalah yang paling efisien untuk mengisi kembali bucket tersebut. Transfer jaringan dan salinan hard drive tidak memiliki banyak pengaruh.
Akhirnya, ada perangkat generasi entropi yang tersedia, seperti ini: http://www.entropykey.co.uk/ .
sumber
+1 untuk rng-tools
Jika Anda terjebak dalam situasi seperti saya - tidak memiliki izin untuk menginstal perangkat lunak baru (rng-tools) pada server tanpa kepala dengan hampir tidak ada perangkat keras input (kartu suara, keyboard, mouse) terpasang. Anda dapat menjalankan kode sederhana ini dari terminal lain yang terhubung ke server yang sama, untuk menambah entropi. Tidak masalah jika Anda mulai menjalankan ini sebelum atau setelah memulai
gpg --gen-key
Baris pertama adalah memulai shell bash baru, dengan prioritas lebih rendah (saya harus bersikap baik pada server yang dibagikan oleh banyak pengguna). Sampai loop tak terbatas, jadi ingatlah untuk memecahnya setelah kunci dibuat. Yang dilakukannya hanyalah menyebabkan lalu lintas jaringan meningkatkan entropi. Itu juga memonitor penghitung entropy_avail untuk menunjukkan bagaimana itu diisi dan dikosongkan di sisi lain oleh gpg. Dalam kasus saya, penghitung diisi dengan cepat ke 64 dan dikosongkan kembali ke 0 (tebak gpg mengambil dalam potongan 64). Saya sedang menunggu generasi kunci 4096 bit selama lebih dari 3 jam di server. Setelah mulai menjalankan skrip ini, skrip selesai dalam waktu kurang dari 5 menit.
sumber
[ $COUNT -lt 0 ]
. Karena untuk sistem dengan entropi yang sangat sedikit, kadang-kadang mencapai 0 dan berhenti. GPG benar-benar lapar lapar.Saya terikat dan bertekad untuk menghasilkan entropi pada server Ubuntu 14.04 tanpa kepala saya untuk menghasilkan kunci 4.096
gpg --gen-key
Ada paket untuk menghasilkan entropi yang disebut hasged. Contoh pemasangan:
sudo apt-get install haveged
Saya harus
sudo apt-get install rng-tools
karena itu adalah ketergantungan dalam tes berikut.Contoh tes untuk melihat apakah entropi dihasilkan oleh hasged:
cat /dev/random | rngtest -c 1000
Saya mengetahuinya dalam tutorial di sini:
https://www.digitalocean.com/community/tutorials/how-to-setup-additional-entropy-for-cloud-servers-using-haveged
Saya sekarang memiliki kunci setelah berjalan
gpg --gen-key
sumber
Saya mengalami masalah ini saat berjalan
pacman-key --init
di lengkungan. Solusi lain di sini tidak bekerja dengan baik untuk saya, tetapi saya menemukan bahwa hanya membanjiri router saya berfungsi dengan baik:ping -f ip.of.my.router
sumber
Yah, itu lebih mudah daripada yang saya kira, dibandingkan dengan solusi yang disajikan di sini:
Byte acak yang disediakan oleh perintah di atas, cukup untuk memberikan entropi yang diperlukan untuk menghasilkan pasangan kunci RSA / 4096.
Diambil dari: https://www.thingy-ma-jig.co.uk/blog/22-01-2010/generate-entropy-gnupg
sumber
haveged
adalah cara terbaik, tetapi jika Anda tidak dapat menginstal apa pun, maka Anda dapat secara manual menghasilkan entropi. Metode ini diizinkangpg --gen-ken
untuk selesai dalam 1-2 menit pada mesin saya (dibandingkan dengan 10-an denganhaveged
). Jadi sekitar 10x lebih lambat.Jalankan ini di terminal lain ketika
gpg --gen-key
sedang berjalan:Satu liner:
sumber