जब मैं लॉग इन करता हूं, तब तक यह लटका रहता है जब तक कि crng init नहीं किया जाता है


22

जब मैं अपने लैपटॉप पर लाइटएनडीएम के साथ लॉग इन करता हूं तो डेबियन अनस्टेबल चल रहा है, यह हाल ही journalctlमें संदेश दिखाने तक लगभग 2 मिनट के लिए लटका देना शुरू कर दिया kernel: random: crng init done। जब मैं अपने कीबोर्ड पर यादृच्छिक कुंजियों को दबाता हूं, जब यह लटका होता है, तो यह तेज (लगभग 10 सेकंड) में लॉग होता है। इससे पहले कि मैं इस मुद्दे को नहीं था, वहाँ किसी भी तरह से मैं इसे ठीक कर सकता है?

संपादित करें: कार्यों के linux-image-4.15.0-3-amd64बजाय उपयोग करना linux-image-4.16.0-1-amd64, लेकिन मैं एक पुराने कर्नेल का उपयोग नहीं करना चाहता।


1
ऐसा लगता है जैसे कोई सब कुछ खा रहा है।
Kusalananda

1
systemd-journaldCSPRNG के लिए (और) दावा किए जाने की आवश्यकता का विषय हाल ही में विभिन्न चर्चाओं में आया है। उदाहरण के लिए lists.freedesktop.org/archives/systemd-devel/2018-May/… देखें ।
जेडीबीपी

1
sudo apt install haveged sudo systemctl enable haveged
वायरसमेक्सा

जवाबों:


15

अपर्याप्त एंट्रोपी (यादृच्छिकता) उपलब्ध होने के कारण कर्नेल से यादृच्छिक डेटा (यानी पढ़ना /dev/urandomया कॉल करना getrandom()) प्राप्त करने का प्रयास करते समय आपके सिस्टम ब्लॉकों के कुछ घटक की तरह दिखता है।

मेरे पास इस बात के लिए तैयार विवरण नहीं है कि समस्या एक विशेष कर्नेल संस्करण पर निर्भर करती है, या आपके सिस्टम पर कौन सा घटक वास्तव में ब्लॉक करता है, लेकिन मूल कारण की परवाह किए बिना,

दरअसल, बिगोन ने अपने जवाब में कहा , यह 4.16 में पेश किया गया कर्नेल बग प्रतीत होता है:

इस बग को "crng_init> 0" द्वारा "crng_init> 1" के लिए इस कमिट में बदल दिया गया है: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/ ? id = 43838a23a05fbd13e47d750d3dfd77001536dd33

यह परिवर्तन अनजाने में urandom_read को प्रभावित करता है, जिसके कारण crng_init == 1 राज्य को असंवैधानिक माना जाता है और ब्लॉक करने का कारण बनता है, इस स्थिति के बावजूद बूट समय पर गैर-क्रिप्टोग्राफ़िक आवश्यकताओं का समर्थन करने के लिए विशेष रूप से विद्यमान है : https://git.kernel.org/pub /scm/linux/kernel/git/torvalds/linux.git/tree/drivers/char/random.c#n1863

43838a23a05f ("यादृच्छिक: फिक्स crng_ready () परीक्षण") को बग को ठीक करना (4.16.5-1 के साथ परीक्षण किया गया), लेकिन इससे सुरक्षा संबंधी चिंताएं पैदा हो सकती हैं (CVE-2018-1108 43838a23a05f में उल्लिखित है)। मैं एक अधिक स्थानीय निर्धारण का परीक्षण कर रहा हूं जो ऊपर की ओर अधिक तालमेल होना चाहिए।

( https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=897572#82 )

... फिर भी, आप तेजी से एन्ट्रापी का उपयोग करने havegedया rng-toolsइकट्ठा करने की कोशिश कर सकते हैं ।


4
ऐसा लग रहा है कि लिनक्स 4.16.4 में CVN-2018-1108 के कारण CRNG से जुड़ी कुछ चीजें बदल गई हैं। rng-toolsमेरे लैपटॉप पर काम नहीं करता है, क्योंकि इंटेल सेलेरॉन एन 2840 एईएस-एनआई का समर्थन नहीं करता है और इस तरह इसमें बिल्ट-इन टीआरएनजी नहीं है।
wb9688

3
rng-tools2011 से डेबियन में अंतिम अपलोड । आपके पास rng-tools5वह पैकेज है जिसे हाल ही में पेश किया गया है
बिगोन

@ बीगॉन टीबीएच मुझे डेबियन में पैकेज के बारे में कुछ भी नहीं पता है; मैं उसे इस्तेमाल नहीं करती। यह सामान्य सलाह है, डेबियन-विशिष्ट नहीं।
intelfx

1
उबंटू 18.04 (बायोनिक) के साथ पुष्टि की गई। dropbear-initramfsदूर से मेरी डिस्क को स्थापित और अनलॉक करने के बाद यह समस्या थी cryptroot-unlock। बस apt install rng-toolsचीजों को जादुई तरीके से काम करता है। धन्यवाद!
एक भुगतान किया गया बेवकूफ

इंस्टॉल करना havegedमेरे लिए काम कर गया। मेरे पास एक पुराना Intel Core 2 Duo है जिसमें ट्रू रैंडम नंबर जेनरेटर नहीं है।
बालू

7

यह कर्नेल में एक बदलाव (बग) है, देखें: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=897572

यह स्थापित rng-tools5करने में मदद करने के लिए लगता है कि कम करने के लिए। ध्यान दें कि मुझे नहीं पता कि इस पैकेज को स्थापित करने का प्रभाव क्रिप्टोग्राफी की पीढ़ी पर है या नहीं

संपादित करें: जाहिरा तौर पर उपयोग-लाइन 2.32 को अपडेट करने से समस्या ठीक होनी चाहिए


नहीं, उपयोग- linux 2.32 मेरे लिए समस्या को ठीक नहीं करता है।
vinc17

5

यह एक कर्नेल बग है जो विभिन्न कर्नेल के साथ हो सकता है।

चल रहा है apt-get install rng-toolsके रूप में suटर्मिनल में काम करना चाहिए।


टर्मिनल में su के रूप में apt-get install rng-tools चलाने से मेरे लिनक्स बॉक्स के साथ समस्या ठीक हो गई है।
गियोवन्नी कैनिजेरो

2

rng-toolsकेवल तभी मदद करता है जब आपके सिस्टम में रैंडम नंबर के लिए हार्डवेयर सपोर्ट हो, जैसे कि इंटेल की " सिक्योर की "। इस तरह ईवी ब्रिज के साथ आविष्कार किया गया । मेरे सिस्टम में 1037u प्रोसेसर (आइवी ब्रिज में स्थित) में यह हार्डवेयर सपोर्ट नहीं है। इसलिए rng-toolsमदद मत करो।

रेतीले पुल के साथ यहां एक अन्य सिस्टम पर i3 प्रोसेसर rng-toolsमदद करता है। rngdसेवा बहुत बूट प्रक्रिया के शुरू में आदेश एन्ट्रापी कतार को भरने के लिए में शुरू किया जाना चाहिए,। यह उबंटू के साथ बूट अनुक्रम में मामला है, मुझे नहीं पता कि क्या यह अन्य वितरणों के लिए सच है, लेकिन आप यह पता लगा सकते हैं, जैसा कि शुरू में rngdलॉग इन किया गया है।


1
यह पूरी तरह सच नहीं है। आप चला सकते हैं rngd -f -r /dev/urandomपंप करने के लिए /dev/urandomमें /dev/randomहै, हालांकि यह इस तरह से इसे चलाने के लिए नहीं की सलाह दी जाती है, यह एक विकल्प है ..
SLM

2

स्वैप विभाजन को हटाने के बाद भी हो सकता है

kernel: random: crng init doneस्वैप विभाजन को हटाने के बाद पहले हैंगिंग भी हो सकती है।

यदि एक स्वैप विभाजन हटा दिया जाता है, तो कॉन्फ़िगरेशन फ़ाइल /etc/initramfs-tools/conf.d/resume या तो पूरी तरह से खाली होनी चाहिए या पढ़ना चाहिए RESUME=। कोई भी UUID नंबर हटाएं। RESUME=NONEमान्य नहीं है।

$ sudo vim /etc/initramfs-tools/conf.d/resume

इन परिवर्तनों को प्रभावी करने के लिए प्रारंभिक RAM फाइल सिस्टम को अद्यतन करने की आवश्यकता होती है:

$ sudo update-initramfs -u

1

मेरे मामले में, मैं 4.19.0-4-amd64Proxmox VE पर एक डेबियन बस्टर (गिरी ) VM चला रहा था ।

समाधान VM में एक Virtio RNG डिवाइस को जोड़ना था । Proxmox पर, यह संपादन द्वारा किया जाता है VM कॉन्फ़िग फ़ाइल को

मेरे मामले में, मैंने /etc/pve/qemu-server/110.confनिम्नलिखित पंक्ति को संपादित और जोड़ा:

args: -device virtio-rng-pci

कोई भी उपयोगकर्ता उपकरण (जैसे rng-toolsया haveged) की आवश्यकता नहीं थी।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.