SSH के माध्यम से LUKS को खोलने के लिए बूट प्रक्रिया में एक पोर्ट को जल्दी से कैसे खोलें


11

मेरे पास डेबियन 7 पर चलने वाला एक पूरी तरह से एन्क्रिप्टेड सर्वर है और SSH के माध्यम से LUKS कंटेनर को अनलॉक करने के लिए ड्रॉपबियर और बिजीबॉक्स स्थापित किया है (जैसा कि इस ट्यूटोरियल में और इस U & L उत्तर में वर्णित है )।

दुर्भाग्य से, जब भी मैं रिबूट पर सर्वर (लैन पर) के लिए एसएसएच और कोशिश करता हूं, तो मुझे "कनेक्शन मना" त्रुटि मिलती है। मैंने डिफ़ॉल्ट पोर्ट (22) की कोशिश की है telnetऔर nmapदोनों कहते हैं कि पोर्ट बंद है।

सर्वर में ufwLAN से सभी ट्रैफ़िक स्वीकार करने का नियम है:

Anywhere         ALLOW       192.168.1.0/24

मैं बंदरगाह कि में पर dropbear सुनता बदलते की कोशिश की है /etc/defaults/dropbear, लेकिन sshऔर telnetअभी भी कनेक्शन से इनकार कर दिया जाता है 1

मैं यह कैसे सुनिश्चित कर सकता हूं कि बूट प्रक्रिया में उस स्तर पर एक पोर्ट खुला हो ताकि मैं LUKS कंटेनर को अनलॉक करने के लिए कनेक्ट कर सकूं?

फ़ायरवॉल को अक्षम करने से कोई फर्क नहीं पड़ता: nmapसभी पोर्ट अभी भी बंद दिखाता है।

अपडेट 2/14

मैंने break=premountकर्नेल लाइन में जोड़ा और initramfs में चारों ओर एक प्रहार किया। dropbearशुरू हो गया है, लेकिन नेटवर्क उस बिंदु पर नहीं है । बाहर निकलने के बाद, नेटवर्क आता है और एलयूकेएस डिवाइस को अनलॉक करने के लिए बूट तक जारी रहता है।

इस बिंदु पर, नेटवर्क है , और मेजबान सही आईपी पते आवंटित किया गया है, लेकिन बंदरगाह 22 अभी भी बंद है।

/etc/initramfs-tools/intiramfs.confमैं जिस आईपी लाइन का उपयोग कर रहा हूं वह है:

export IP=192.168.1.200::192.168.1.1:255.255.255.0::eth0:off

/usr/share/doc/cryptsetup/README.remote.gzI में निर्देशों के अनुरूप मैंने डिवाइस विकल्प को जोड़ने की कोशिश की है, लेकिन यह नेटवर्क को ऊपर लाने और धमाके की लीज प्राप्त करने के लिए पर्याप्त नहीं है।

अपडेट ११/१०/१४

कार्ल का जवाब था कि क्या आवश्यक है: सेटिंग करना /etc/initramfs-tools/conf.d/cryptrootमहत्वपूर्ण था:

target=md1_crypt,source=UUID=8570d12k-ccha-4985-s09f-e43dhed9fa2a

यह मार्गदर्शिका अधिक अद्यतित और प्रासंगिक (और सफल) भी साबित हुई।


1
वाह! मुझे पूरी तरह से पता नहीं था कि आप दूर से पूरी तरह से लॉक किए गए LUKS को अनलॉक कर सकते हैं। जाहिर है कि मैं आपके प्रश्न का उत्तर w / निश्चितता से नहीं दे सकता, लेकिन मुझे लगता है कि sshd शुरू नहीं हुआ है। मेरी मशीन में, बाद में एसडीएस प्रक्रिया शुरू होती है।
एमोरी

1
क्या आपके पास मशीन तक पहुंच है, जबकि यह व्यस्त वातावरण में है? क्या आप यह सत्यापित कर सकते हैं कि ड्रॉपबियर वास्तव में चल रहा है (के माध्यम से ps) और उस पोर्ट पर सुन रहा है जिसकी आप उम्मीद करते हैं (के माध्यम से netstat)?
लार्क्स

लार्क्स - नहीं, क्योंकि कंसोल में प्रॉम्प्ट पासफ़्रेज़ में प्रवेश करने के लिए इंतजार कर रहा है, और दूसरे TTY पर स्विच करने का मतलब केवल एक रिक्त स्क्रीन है (यदि मैंने आपको सही तरीके से समझा है)।
jasonwryan

क्या आप (अस्थायी रूप से) एलयूकेएस एन्क्रिप्शन को हटा सकते हैं और सत्यापित कर सकते हैं कि ड्रॉप बियर वास्तव में चल रहा है?
एमोरी

1
क्या आपने break=Xशुरुआती initramfsशेल प्राप्त करने के लिए बूट मापदंडों में से एक का उपयोग करने की कोशिश की है ? जब भी मैं फाइल सिस्टम एन्क्रिप्शन को डीबग करता हूं, मैं उपयोग करता हूं break=premount। आप जांच सकते हैं कि स्थिति क्या है, इसे हल करें, और बूट करना जारी रखें।
एलेक्सियो

जवाबों:


3

मुझे कुछ सप्ताह पहले यह समस्या आई थी (डेबियन व्हीज़ी 7.6) और समस्या निवारण के कुछ दिनों के बाद मुझे पता चला कि एक विन्यास फाइल गायब थी, जो सही ढंग से चलने के लिए init-top पर cryptroot स्क्रिप्ट को रोक रही थी, इसलिए यह रोक नहीं रही थी ssh के माध्यम से पासवर्ड पूछने के लिए, अनुक्रम के अंत में ड्रॉपबीयर को मारना (init-bottom)।

कॉन्फिग फाइल को कहा जाता है cryptrootऔर यह तब होना चाहिए जब /etc/initramfs-tools/conf.d/ मैं गलत नहीं हूं कि इंस्टॉल के दौरान कॉन्फिग फाइल अपने आप बन जानी चाहिए थी (मैंने उस कॉन्फिग फाइल के बारे में बात करते हुए सिर्फ एक ट्यूटोरियल पढ़ा है) लेकिन किसी तरह यह नहीं हुआ (एक फिजिकल सर्वर में परीक्षण किया गया और अंदर एक वीएम, एक ही ओएस और संस्करण)

यह मुझे ठीक से कॉन्फ़िगर करने की कोशिश करता है, क्योंकि मुझे उस समय उचित वाक्यविन्यास नहीं मिला। मेरी क्रिप्टोकरेंसी कॉन्फिग फ़ाइल निम्नानुसार है:

target=crypt-root,source=/dev/vg0/root,lvm=root

एक बार कॉन्‍फ़िगर फ़ाइल बनाने के बाद सिर्फ initramfs को अपडेट करें और पुन: प्रयास करें:

update-initramfs -u

आप एक महान् व्यक्ति हैं! धन्यवाद: मैंने इसके लिए उम्र के साथ संघर्ष किया था और इसे हल करने की बहुत अधिक उम्मीद की थी। मेरा cryptrootवाक्य-विन्यास आपके लिए अलग है, लेकिन आपका उत्तर मुझे सही दिशा में इंगित करने के लिए पर्याप्त था। मैं आपका ऋणी हूं।
जसोनव्रीयन

मुझे खुशी है कि आपको आखिरकार यह काम मिल गया। जब मैं अपनी समस्या की जांच कर रहा था, तो मैंने आपका प्रश्न देखा और मैंने सोचा कि मुझे एक बार पोस्ट करने के बाद मैं इसे हल कर दूं।
कार्ल

3

विषय पंक्ति गलत है। समस्या एक बंद बंदरगाह नहीं है, यह एक बंदरगाह है जो बाध्य नहीं था। SSHd अभी तक शुरू नहीं हुआ है; यही कारण है कि आप इसे कनेक्ट नहीं कर सकते।


@camh, क्या उस संबंध में कोई नियम हैं?
poige

मैं पहले वाक्य पर अधिक ध्यान केंद्रित कर रहा था, जो संपादकीय है। बाकी बल्कि एक अच्छा जवाब होने के लिए प्रवृत्त है, लेकिन मुझे लगता है कि अभी भी एक जवाब है। मैं अपनी टिप्पणी हटा दूंगा।
camh

@camh, मैं देख रहा हूँ ...
poige

मैं उपयोग नहीं कर रहा हूं sshd: जैसा कि प्रश्न कहता है, मैं एक ड्रॉपबियर उदाहरण से कनेक्ट करने का प्रयास कर रहा हूं जो डिफ़ॉल्ट रूप से पोर्ट 22 पर चलता है।
जसोनव्रीयन

@ajonwryan, यह कोई भी भूमिका नहीं निभाता है कि आप जिस टीसीपी सेवा का उपयोग करने का प्रयास कर रहे हैं, वह वास्तव में क्या मायने रखती है, यह शुरू नहीं हुई है।
20

3

ड्रॉपबियर (ssh सर्वर) को बूट चरण के दौरान बहुत पहले शुरू किया जाना चाहिए - पहले init(rcN.d) अनुक्रम और फ़ायरवॉल init स्क्रिप्ट की तुलना में; पहले से भी / घुड़सवार है (यह भी एन्क्रिप्टेड है, ठीक है?)। तो यह आता है initramfs, बूट लोडर द्वारा कर्नेल के लिए लोड किया गया प्री- / यूजरलैंड। छवि (फिर) द्वारा उत्पन्न है update-initramfs -uकी सामग्री से /etc/initramfs-tools/, में dropbear विन्यास सहित /etc/initramfs-tools/etc/dropbear/। Dropbear config के साथ खेलने के लिए, उस एक के साथ खेलें।

इस प्रकार, जाँच करने के लिए कुछ बिंदु:

  • ड्रॉपबियर शुरू नहीं होता है: यह अच्छी तरह से इनट्राम्राम्स अनुक्रम में प्लग नहीं किया गया है;
  • डिफ़ॉल्ट फ़ायरवॉल सभी को अस्वीकार करता है।

धन्यवाद yarek: मुझे लगता है कि आप सही हैं - मैंने अपने प्रश्न को डेबियन बग (और एक फिक्स जो काम नहीं करता है) के साथ अपडेट किया है। मैंने फ़ायरवॉल को अक्षम करने का भी प्रयास किया है।
जसोनव्रीयन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.