SSH निजी कुंजी के साथ लॉग इन करते समय पासवर्ड के बिना sudo


23

क्या SSH निजी कुंजी का समर्थन करने के लिए sudo कमांड बनाना संभव है, ताकि जब उपयोगकर्ता निजी कुंजी का उपयोग कर लॉगइन करे तो वह पासवर्ड टाइप किए बिना sudo कर सके।

यह UNIX sysadmin पासवर्ड को एक एन्क्रिप्टेड कोल्ड स्टोरेज में संग्रहीत करने की अनुमति देगा और कभी भी उन्हें एक्सेस करने की आवश्यकता नहीं होगी, यह मानते हुए कि उपयोगकर्ता सर्वर पर लॉग इन करने के लिए हमेशा सुरक्षित निजी एसएसएच कुंजी का उपयोग करते हैं।


askubuntu.com/a/135838 यदि आप उन उपयोगकर्ताओं को एक समूह में रखते हैं, तो आप सुनिश्चित कर सकते हैं!
रोब

sudo visudoयह NOPASSWD: ALLदेखने के लिए कि क्या काम करता है, अपने पासवर्ड को बदलने की कोशिश करें
न्यूमैटिक्स

3
@AlanTuring उस समूह के उपयोगकर्ताओं के लिए भी काम करेगा, जिन्होंने पासवर्ड के माध्यम से पहचान की है।
Xyon

@AlanTuring जो प्रभावी रूप से सर्वर की सुरक्षा को कम कर देगा - मुझे केवल कुछ उपयोगकर्ता चाहिए, सभी नहीं,
सुडोकू

विशिष्ट उपयोगकर्ताओं को निजीकरण देना संभव है। मेरा जवाब देखिए।
आइजैक राबिनोविच

जवाबों:


10

ऐसा करने का विकल्प अप्रैल 2014 से (कम से कम) मौजूद है ।

आपको एक पैकेज स्थापित करने की आवश्यकता होगी जिसे pam_ssh_agent_auth(CentM 7 के लिए उपलब्ध बॉक्स, YMMV) कहा जाता है, फिर /etc/pam.d/sudoइसे एक प्राधिकरण विधि के रूप में स्वीकार करने के लिए कॉन्फ़िगर करें। अंत में, आपको SSH_AUTH_SOCKपर्यावरण चर की सूची में जोड़ना पड़ सकता है जो दौरान बनी रहती है sudo

जेंटू विकी में इन चरणों का विवरण है।


1
लवली, लाईम को धन्यवाद। बहुत बुरा मैं कई वर्षों से sysadmin में नहीं रहा!
मिको ओक्टामा

1

सूडो और sshd के लिए कुछ गंभीर कोड परिवर्तनों के बिना यह संभव नहीं है। सूडो लॉगिन विधियों के बारे में नहीं जानते हैं, और ssh अन्य कार्यक्रमों के लिए कुछ भी प्रकाशित नहीं करता है जो यह दर्शाता है कि क्या सार्वजनिक कुंजी, पासवर्ड, या कुछ अन्य तंत्र का उपयोग लॉगिन के लिए किया गया था।

जैसा कि किसी और ने कहा, आप sudoers में NOPASSWD विकल्प का उपयोग कर सकते हैं - यह निर्दिष्ट उपयोगकर्ताओं पर हमेशा लागू होगा, हालांकि, न केवल जब वे निजी कुंजी के साथ ssh का उपयोग करते हैं।

यदि आप वास्तव में चाहते हैं, तो ऐसे ट्रिक्स हो सकते हैं, जो आप एक सुसाइड प्रोग्राम के साथ कर सकते हैं, जो sshd लॉग की जाँच करता है और उस यूजर को बिना पासवर्ड के सूडो, और एक पीरियोडिक कार्य को अनुमति देने के लिए sudoers फाइल को लॉक / एडिट करता है।

सभी ने कहा, मुझे लगता है कि यह एक बुरा विचार है। विशेषाधिकार प्राप्त आदेशों के लिए एक पासवर्ड की आवश्यकता होती है, जो निजी कुंजी SSH के लिए अच्छा लाभ नहीं है। विशेष रूप से, यह आपको ऑर्टआउट के लिए टाइमआउट देता है (पासवर्ड को पुनः दर्ज किया जाना चाहिए, ssh सत्रों के लिए सही नहीं है), इससे आपको पासवर्ड न्यूनतम और रोटेशन (ssh कुंजियों के विपरीत, जिसमें सर्वर के नियंत्रण के बाहर एक पासफ़्रेज़ है) की सुविधा मिलती है।


11
"यह नहीं किया जा सकता है" एक उत्तर नहीं है, खासकर जब यह किया जा सकता है।
आइजैक राबिनोविच

नए इनफॉर्मेटिनो युक्त सही उत्तर का बदलना।
मिको ओकटामा

1

उत्तर की एक जोड़ी एक अलग उपयोगकर्ता पासवर्ड के बिना sudo को इंगित करते हैं। आपको अवेयर होना चाहिए कि इससे आपकी सुरक्षा कम हो जाएगी।

एक प्रमाण पत्र के साथ पहले से ही दृढ़ता से प्रमाणित होने वाले उपयोगकर्ता के लिए यह एक मुद्दा नहीं हो सकता है क्योंकि वह प्रमाण पत्र के कब्जे में है जो सैद्धांतिक रूप से उसे जड़ दे सकता है।

हालाँकि यदि आप उन भेद्यताओं के बारे में सोचते हैं जो एक सीमित उपयोगकर्ता शेल के साथ एक हमलावर प्रदान करेंगे और इस उपयोगकर्ता के पास NOPASSWD सेट है जिसमें sudoers फ़ाइल है हमलावर को सिस्टम में कोई भी क्रेडेंशियल्स होने के बिना रूट है।

अगर sudo को उपयोगकर्ता से पासवर्ड की आवश्यकता होती है, तो हमलावर को अपने विशेषाधिकार को बढ़ाने के लिए समय और भाग्य की आवश्यकता होती है।

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