क्या मुझे अपने SSH RSA कुंजी के लिए पासफ़्रेज़ होना चाहिए?


71

इससे पहले कि मैं अपनी वर्तमान नौकरी (एक छोटे से व्यवसाय में) शुरू करता, मेरे कार्यालय में नेटवर्क पर कोई फ़ायरवॉल नहीं था और शाब्दिक रूप से कभी भी कुछ भी वापस नहीं किया जा रहा था। अब जब मैंने एक समर्पित sysadmin / one-man-IT-Department के रूप में साइन इन किया है, तो मैं यह कर रहा हूं कि मैं इसे बदल सकता हूं। मेरे बॉस को समझाने के बाद कि हम कितने कमजोर थे, उन्होंने मुझे कुछ बैकअप सर्वर सेट करने की अनुमति दी, जिनमें से एक उनके घर पर है।

अभी, मैं सब कुछ सेट करने की कोशिश कर रहा हूं ताकि मैं दैनिक बैकअप को स्वचालित कर सकूं। मैं ऐसा करने के लिए ssh के माध्यम से rsync का उपयोग करने की योजना बना रहा हूं। सुरक्षा के साथ-साथ स्वचालन में आसानी के लिए, मैं ssh पासवर्ड लॉगिन को अक्षम करने और केवल rsa कुंजी सत्यापन का उपयोग करने की योजना बना रहा था। खैर, अगर मेरे पास कोई आरएसए पासफ़्रेज़ सेट है, तो मुझे अभी भी एक पासवर्ड दर्ज करना होगा, और यह एक समस्या है।

क्या rsa पासफ़्रेज़ नहीं होने से चीज़ें काफी कम सुरक्षित हो जाती हैं? मैं कंपनी का एकमात्र व्यक्ति हूं, जिसके पास इस तरह की चीज़ के बारे में कोई सुराग है, इसलिए मैं किसी के बारे में चिंतित नहीं हूं जो मेरी मशीन पर टर्मिनल कॉल कर रहा है (जो कि जब मैं AFK होता हूं, तो हमेशा बंद रहता है) ) और बैकअप सर्वरों में से एक में ssh-ing और कोई भी नुकसान कर रहा है। मैं अभी भी बहुत, सिस्टम प्रशासन की दुनिया के लिए बहुत नया हूँ, और यह मेरा पहली बार ऐसा कुछ भी कर रहा है, और मैं सुरक्षा सेटअप में कोई छेद नहीं छोड़ना चाहता।

यहाँ प्रश्न वाले कंप्यूटर उबंटू 10.10, एसएमई सर्वर, और OSX 10.6 चला रहे हैं, अगर यह किसी भी तरह का अंतर बनाता है।


5
आपकी कुंजी पर पासफ़्रेज़ नहीं होने से वास्तव में सुरक्षा में कोई हानि नहीं होनी चाहिए। इस बिंदु पर कुंजी की सुरक्षा अखंडता को बनाए रखना अभिन्न हो जाता है क्योंकि यदि कोई इसे कॉपी करने में सक्षम है तो कोई गुप्त कुंजी नहीं है जो उन्हें इसका उपयोग करने से रोके।
क्रिस मैरिकिक

1
शायद यह सिर्फ मेरे लिए है, लेकिन मुझे नहीं पता कि उपरोक्त टिप्पणी क्या कहना चाह रही है।
अंडरस्कोर_ड

3
@underscore_d वह मूल रूप से कह रहा है: SSH सुरक्षा पर कोई प्रभाव नहीं पड़ता है या आपकी कुंजी के लिए पासफ़्रेज़ नहीं है लेकिन आपको अपनी कुंजियाँ स्थानीय स्तर पर सुरक्षित रखनी होंगी।
हार्टेटर

जवाबों:


89

जैसा कि आप जानते हैं, पासफ़्रेज़ आपको जो लाभ देता है वह यह है कि यदि कोई आपकी निजी कुंजी को पढ़ने में सक्षम है, तो वे इसका उपयोग करने में 'असमर्थ' हैं।

यदि कोई व्यक्ति उस निजी कुंजी का उपयोग करने में सक्षम है, तो आपको यह सुनिश्चित करना चाहिए कि सार्वजनिक कुंजी के साथ जो भी मशीनें स्थापित की गई हैं, उनका एक्सेस (एड) / समझौता है। .Bash_history या .shsh / config जैसी चीजें केवल यह आसान बनाती हैं, भले ही आपका .ssh / ज्ञात_हॉस्ट बाधित हो।

आपकी कुंजी पर पासवर्ड नहीं होना दुनिया का अंत नहीं है, यहां 3 उपाय आजमाए गए हैं और इसके बावजूद आप खुद को थोड़ा बेहतर बनाने में मदद कर सकते हैं। ( बिग जी दूसरे हैं, पढ़ें कि अगर कुछ नहीं तो )


  1. बस सभी मशीनों और उपयोगकर्ताओं पर एक ही कुंजी का उपयोग न करें। प्रत्येक उपयोगकर्ता को प्रत्येक मशीन पर उत्पन्न करें (जिसे इस तरह की चीज़ करने की ज़रूरत है) अपनी खुद की कुंजी जोड़ी। यह आपको ठीक दानेदार नियंत्रण रखने में मदद करेगा कि वह कहां पर क्या कर सकता है।

  2. अपनी अधिकृत_की फ़ाइल में कुंजी जोड़ते समय, आप इसे केवल एक विशिष्ट कमांड को चलाने में सक्षम होने के लिए लॉक कर सकते हैं, या केवल एक विशिष्ट होस्ट से इसका उपयोग कर सकते हैं।

    देखें man sshऔर कमांड = और से = के लिए खोजें

    वाक्य रचना कुछ इस तरह है:

    from="1.2.3.4",command="/path/to/executable argument" ssh-rsa key name

    यानी वहां पॉप 'rsync' और केवल 'rsync' को आपकी कुंजी कहा जा सकता है, और केवल IP पते से 1.2.3.4। एकाधिक आईपी द्वारा अलग किया जा सकता है ,। होस्ट नाम भी समर्थित हैं।

  3. एक और बात जो मन को भाती है वह है आपका sshd_config में 'AllowUser' निर्देश

    AllowUsers

    इस कीवर्ड को उपयोगकर्ता नाम पैटर्न की एक सूची के बाद रिक्त स्थान द्वारा अलग किया जा सकता है। यदि निर्दिष्ट किया गया है, तो लॉगिन केवल उन उपयोगकर्ता नामों के लिए अनुमत है जो किसी एक पैटर्न से मेल खाते हैं। '*' तथा '?' पैटर्न में वाइल्डकार्ड के रूप में इस्तेमाल किया जा सकता है। केवल उपयोगकर्ता नाम मान्य हैं; एक संख्यात्मक उपयोगकर्ता आईडी मान्यता प्राप्त नहीं है। डिफ़ॉल्ट रूप से, सभी उपयोगकर्ताओं के लिए लॉगिन की अनुमति है। अगर पैटर्न USER @ HOST का रूप लेता है तो USER और HOST को अलग-अलग चेक किया जाता है, विशेषकर मेजबानों के उपयोगकर्ताओं के लिए लॉगिन को प्रतिबंधित करता है।

    यह मूल रूप से सुनिश्चित करता है कि उपयोगकर्ता केवल एक निश्चित स्थान से लॉग इन कर सकता है। (हालांकि यह वाइल्डकार्ड को भी स्वीकार करता है) आपकी सभी समस्याओं को हल करने वाला नहीं है, लेकिन यह कम से कम इसे दूसरों के लिए कठिन बना देगा।


1
सुंदर - यह वही है जो मुझे जानना आवश्यक था। आपको बहुत - बहुत धन्यवाद!
एकजा १३'११ को

3
कोई समस्या नहीं है, बस इसे एक संपूर्ण सूची के रूप में न लें! :-) मन को नियमित रूप से ओब्लेट / सुरक्षित / स्प्रिंग आदि की समीक्षा करने जैसी चीजें।
प्राइसचाइल्ड

3
तो अपने पासफ़्रेज़ की चोरी होने की चिंता करने के बजाय ऑडिट करना?
एहतेश चौधरी

3
@ शौर्य दोनो करो!
PriceChild

4

पासफ़्रेज़ को कम दर्दनाक बनाने के लिए आप किचेन जैसी किसी चीज़ का उपयोग कर सकते हैं । यह एक पासवर्ड रहित लॉगिन का उपयोग करने से थोड़ा अधिक सुरक्षित है, और यहां अन्य उत्तरों के साथ संयोजन में उपयोग किया जा सकता है। PriceChild का जवाब बहुत अच्छा था।


-4

व्यक्तिगत रूप से मैं डीएसए का उपयोग आरएसए नहीं करता हूं, मुख्यतः क्योंकि यह वही है जो मैंने हमेशा उपयोग किया है और मुझे पता है कि यह 'सिर्फ काम करता है', लेकिन मुझे लगता है कि सिद्धांत समान है। आप बदल सकते dsaसाथ rsaनीचे में।

स्रोत पर:

$ ssh-keygen -t dsa

फिर गंतव्य पर उपयोगकर्ता खाते में .ssh/id_dsa.pubफ़ाइल की सामग्री की प्रतिलिपि बनाएँ .ssh/authorized_keys

फिर आपको केवल स्रोत और गंतव्य के बीच कोई पासवर्ड नहीं होना चाहिए।


1
क्या कोई कारण है कि आप आरएएस पर डीएएस की वकालत करते हैं? मैंने अधिक बार विपरीत की सिफारिश की है देखा है।
प्राइसचाइल्ड

@PriceChild: AFAIK, उनकी सुरक्षा अधिक-या-कम समतुल्य (पर्याप्त कुंजी आकार मानकर) है। खुद क्रिप्टोग्राफर नहीं होने के नाते, मैं ओपनएसएसएच और जीएनपीजी के फैसले को डिफ़ॉल्ट कुंजी एल्गोरिथ्म के रूप में आरएसए का उपयोग करने के लिए भरोसा करता हूं। यह प्रश्न भी देखें ।
ग्रिटिटी

कोई वास्तविक कारण नहीं - मुख्य रूप से व्यक्तिगत पसंद - कि और तथ्य यह है कि आरएसए को हाल ही में और संवेदनशील कोड में हैक किया गया था - यह कि आरएसए कीज़ से कैसे संबंधित है मुझे नहीं पता (कौन करता है?) लेकिन मैंने हमेशा डीएसए का उपयोग किया है क्योंकि यह अधिक सुरक्षित लग रहा था? ।
मजेंको

9
मुझे डर है कि "कंपनी RSA" पर हैक का "एल्गोरिदम RSA" की सुरक्षा पर कोई प्रभाव नहीं है। इसके अलावा सिक्योरिटी चेक करें ।wikimedia.org / wikipedia / en / wiki / RSA_Security - "RSA का नाम RSA सार्वजनिक कुंजी क्रिप्टोग्राफी एल्गोरिथ्म के नाम पर रखा गया था, जो कि इसके सह-अन्वेषकों के शुरुआती नाम रॉन रिवेस्ट, आदि शमीर और के नाम पर रखा गया था। लेन एडलमैन। "
PriceChild

6
@ मैट: वे आम में केवल एक चीज है नाम है। आरएसए असममित क्रिप्टो एल्गोरिथ्म शुद्ध गणित है, कोई तरीका नहीं है कि इसे कुछ निगमों के सिस्टम में ब्रेक-इन द्वारा कमजोर किया जा सकता है।
ग्रिटिटी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.