SSH के माध्यम से एक sudo NOPASSWD कमांड को दूरस्थ रूप से निष्पादित करें


4

मेरे पास एक दूरस्थ लिनक्स प्रणाली है जिसे मैं ssh और सार्वजनिक कुंजी के माध्यम से कनेक्ट कर सकता हूं और फिर निम्न कमांड निष्पादित कर सकता हूं:

sudo jetty restart

इस सिस्टम पर यह कमांड किसी को भी sudo पासवर्ड के बिना निष्पादित करने की अनुमति देने के लिए कॉन्फ़िगर किया गया है। यानी sudoers फ़ाइल शायद कुछ इस तरह दिखती है

%develop ALL = NOPASSWD: /opt/scripts/jetty

यह बहुत अच्छा है क्योंकि हम इस स्क्रिप्ट को उच्चीकृत विशेषाधिकारों के साथ निष्पादित कर सकते हैं जबकि बाकी सब कुछ बंद कर सकते हैं। समस्या तब है जब इस कमांड को दूरस्थ रूप से निष्पादित करने की कोशिश की जा रही है, मुझे हमेशा sudo पासवर्ड के लिए कहा जाता है।

me@home:~$ ssh -t -i ~/.ssh/identity me@remote.server.com 'sudo jetty restart'
Password: .....? (I don't have the sudo password!)

क्या कोई तरीका है जिससे मैं इस कमांड को दूरस्थ रूप से निष्पादित कर सकता हूं?


"ssh -t -i ~ / .ssh / पहचान me@remote.server.com" आपको पासवर्ड संकेत के बिना लॉगिन करने की अनुमति देता है, मुझे लगता है? बस यह सुनिश्चित कर लें कि जो पासवर्ड आप देख रहे हैं, वह केवल एक ssh लॉगिन नहीं है और sudo नहीं है।
जने पिक्कारेनैन

requirettyबंद है? एक tty_ticketsपैरामीटर भी है जिसे आप जांचना चाहते हैं।
मैटबियानको

हां, जब मैं कमांड को निष्पादित करने के लिए निर्दिष्ट नहीं करता हूं, तो ssh लॉग में कोई समस्या नहीं है। मुझे यकीन नहीं है कि आवश्यकता शेट्टी चालू है या बंद है, लेकिन नीचे ग्रेविटी का जवाब चाल है।
एलेक्स स्पर्लिंग

ssh -tएक ट्टी का उपयोग करते समय हमेशा आवंटित किया जाता है। इसके अलावा, के साथ requiretty, sudoविफल हो जाएगा से पहले पासवर्ड के लिए पूछ रहा।
ग्रैविटी

जवाबों:


2

सुनिश्चित करें कि sudoसही कमांड उठा रहा है; अगर वहाँ /usr/bin/jettyया ऐसा है, sudoers नियम मेल नहीं करेगा। (ध्यान दें कि ~/.bashrcउपयोग करते समय आपकी और ऐसी फ़ाइलों को अनदेखा किया जाता है ssh <host> <command>, इसलिए आपके $PATHअनुकूलन कभी नहीं होते हैं।)

sudo /opt/scripts/jetty restart कार्य करना चाहिए।

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