gpg --gen-key ค้างที่ได้รับเอนโทรปีเพียงพอใน centos 6


49

กำลังพยายามสร้างคีย์สำหรับเซิร์ฟเวอร์

gpg --gen-key

เราจำเป็นต้องสร้างไบต์สุ่มจำนวนมาก มันเป็นความคิดที่ดีที่จะทำการกระทำอื่น ๆ (พิมพ์บนแป้นพิมพ์เลื่อนเมาส์ใช้ดิสก์) ระหว่างรุ่นที่ดีเยี่ยม สิ่งนี้จะช่วยให้เครื่องกำเนิดตัวเลขสุ่มมีโอกาสที่ดีขึ้นในการได้รับเอนโทรปีเพียงพอ

และมันก็แขวนอยู่ตรงนั้น

มีข้อผิดพลาดอื่น:

ไม่สามารถเชื่อมต่อกับ `/root/.gnupg/S.gpg-agent ': ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว

ซึ่งดูเหมือนจะหายไปหลังจาก:

gpg-agent
--daemon GPG_AGENT_INFO = / tmp / gpg-4c5hyT / S.gpg-agent: 1397: 1; ส่งออก GPG_AGENT_INFO;

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

แต่อีกครั้งมันแขวนที่ "... ได้รับเอนโทรปีเพียงพอ"

ไม่มี "+++++++++++++++++++++++++++++++++++++++" "ซึ่ง ดูเหมือนว่าควรโพสต์จากฟอรัมโพสต์เนื่องจากมีการสร้างคีย์

ฉันลองติดตั้งแพ็กเกจซ้ำอีกครั้ง แต่ดูเหมือนว่าทุกอย่างขึ้นอยู่กับ gpg

ฉันได้อ่านคนอื่นที่มีปัญหากับ centos 6 เช่นกัน (ในขณะที่ centos 5 ทำงานได้ดี)

/var/log/*ไม่มีอะไรที่โดดเด่นอยู่ใน

ความคิดใดที่จะไปจากที่นี่?

ขอบคุณ


rng-tools เป็นเพียงวิธีแก้ปัญหาหากคุณมี HSM คำตอบที่แนะนำว่าสิ่งนี้จะล้มเหลวในระบบที่ไม่มีสิ่งนี้ คุณจะเห็นข้อความเช่น: การเริ่มต้นฮาร์ดแวร์ RNG entropy gatherer daemon: (ไม่พบฮาร์ดแวร์อุปกรณ์ RNG inode)
JohnErinthen

คำตอบ:


49

เมื่อgpg --gen-keyคำสั่งหยุดทำงานเช่นนี้ให้ล็อกอินเข้าสู่เชลล์อื่นและดำเนินการคำสั่งต่อไปนี้:

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

(คำสั่งนี้อ่านจากฮาร์ดไดรฟ์ของคุณและทิ้งเอาต์พุตเนื่องจากการเขียน/dev/zeroจะไม่ทำอะไรเลย)

หลังจากนั้นสองสามวินาที / นาทีคำสั่งการสร้างคีย์ควรดำเนินการให้เสร็จสิ้น


2
น่ากลัว ขอขอบคุณ. ฉันไม่อยากจะเชื่อเลยว่าฉันพลาดคู่มือส่วนนั้นไป: /
stormdrain

2
เป็นความคิดที่ดีกว่ามากที่จะคว้าเอนโทรปีที่แตกต่างกันในแต่ละครั้ง หากระบบของคุณหมดเอนโทรปีแล้วมีบางอย่างผิดปกติอย่างมากกับการกำหนดค่าของคุณหรือคุณกำลังใช้เอนโทรปีได้เร็วมาก (จนถึงจุดที่คุณควรมีฮาร์ดแวร์ RNG) หากคุณต้องการเอนโทรปีมากขึ้นเป็นประจำมีสถานที่ที่ถูกต้องเพียงดาวน์โหลดมากขึ้นเช่นฮัม-Universitätของควอนตัม RNG
Chris S

18
ฉันลองสิ่งนี้จริง ๆ แต่เนื่องจากฉันไม่มีรูทฉันจึงไม่สามารถเข้าถึง / dev / sda โดยตรง สิ่งที่ทำงานให้ฉันแทนคือfind / | xargs file
carl.anderson

2
ฉันวิ่งได้อย่างสะดวกสบายมากขึ้นfind / | xargs fileแทนdd if=/dev/sda of=/dev/zeroและหลังจากผ่านไปหนึ่งนาที ขอบคุณ!
ทุ่งหญ้า

1
คุณหมายถึงof=/dev/nullอะไร
maxschlepzig

22

สำหรับโซลูชันที่เชื่อถือได้มากขึ้นคุณสามารถติดตั้งโปรแกรมอรรถประโยชน์ตัวเลขที่เกี่ยวข้องกับเครื่องกำเนิดไฟฟ้าแบบสุ่มซึ่งจะทำให้แน่ใจว่าคุณมีไบต์สุ่มเพียงพอเสมอ

yum install rng-tools

จากนั้นแก้ไข/etc/sysconfig/rngdและเพิ่มEXTRAOPTIONS="-r /dev/random"

เริ่มบริการ

 service rngd start

Voila และคุณใช้ชีวิตอย่างมีความสุขตลอดไป :)


5
หากคุณไม่ต้องการเริ่มบริการคุณสามารถเรียกใช้งานได้rngd -r /dev/randomทันทีเมื่อrng-toolsติดตั้งแล้ว การสร้างกุญแจของคุณจะเริ่มขึ้นทันที
davidjb

2
แต่ตัวมันเองนั้นไม่ได้สร้างเอนโทรปี
Otheus

7

ความเห็นทั้งสองที่ให้ไว้ก่อนหน้านั้นสมบูรณ์แบบ แต่นี่เป็นเพียง 2 เซ็นต์ของฉัน

ปัญหาของ RHEL / centos 6 และเอนโทรปีก็คือพวกมันไม่มีเมล็ด ดังนั้นด้วยตนเองเมล็ดเหล่านี้จึงไม่ได้สร้างเอนโทรปีเพียงพอ คุณต้องต่อคีย์บอร์ดหรือแม้กระทั่งขยับเมาส์หรือใช้ dd ตามที่กล่าวไว้

rngd daemon ยอดเยี่ยมและเอนทิตีทางการค้าส่วนใหญ่ใช้

อย่างไรก็ตามวิธีที่ดีที่สุดที่ฉันเคยเห็นคือการใช้อุปกรณ์ TPM โดยเฉพาะ เป็นฮาร์ดแวร์ขนาดเล็กซึ่งค่อนข้างแพง คุณทำให้พวกเขาและ rngd ใช้เอนโทรปีแบบสุ่มที่แท้จริงจากแหล่งฮาร์ดแวร์ เท่าที่ฉันรู้ฟูจิตสึมีอุปกรณ์ TPM ที่ดี

ใช่สามวิธีนี้ค่อนข้างครอบคลุมส่วนเอนโทรปี


น่าสนใจมาก. ขอขอบคุณ. ดังที่ฉันพูดกับคริสฉันจะเข้าใช้ HSM ในไม่ช้าซึ่งมาพร้อมกับ RNG
stormdrain

4

บิดการตอบสนองอื่น ๆ แต่อย่างน้อยหนึ่งซับและไม่รูต

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

Key-gen-options ประกอบด้วย

Key-Type: 1
Key-Length: 2048
Subkey-Type: 1
Subkey-Length: 2048
Name-Real: myuser
Name-Email: myuser@email.com
Expire-Date: 0

Output-key.txt มีรหัสลับสุดยอดของฉัน


4

https://gist.github.com/franciscocpg/1575d286548034113884c3185ca88681

เปิดเซสชัน ssh sudo apt-get install rng-tools ในหน้าต่าง SSH อื่นเปิด gpg --gen--key กลับไปที่เซสชัน SSH แรกของคุณแล้วเรียกใช้ sudo rngd -r /dev/urandom ปล่อยให้สิ่งนี้จนกระทั่ง gpg สร้างคีย์ของคุณ!

จากนั้นคุณสามารถฆ่าrngd sudo kill -9 $(pidof rngd)



1

ฉันทำมันอย่างไร:

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

ทำงานแม้ในขณะที่$GNUPGHOMEตั้งค่าให้ชี้ไปที่ไดเรกทอรีที่กำหนดเอง


1

ฉันได้ลองใช้วิธีแก้ปัญหาทั้งหมดแล้วและพบว่าใช้havegedงานได้ดีที่สุดแม้ว่าคนอื่นจะไม่ทำงานก็ตาม

yum install haveged

apt install haveged

มันเริ่มhavegedบริการ daemon ที่จะทำให้/dev/randomเต็มไปด้วยเอนโทรปี --key-genควรเสร็จในเวลาไม่ถึงนาที

cat /dev/randomคุณสามารถตรวจสอบโดยการเรียกใช้ โดยปกติมันจะหมดเอนโทรปีและหยุดชั่วคราว นั่นเป็นเหตุผลที่--key-genแฮงค์ แต่หลังจากติดตั้งhaveged, cat /dev/randomควรให้การส่งออกอย่างต่อเนื่อง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.