वहाँ एक तरीका है बाईपास या ~/.profileजब ssh या पोटीन का उपयोग कर एक दूरस्थ लिनक्स सर्वर में प्रवेश के निष्पादन को रोकने के लिए ?
वहाँ एक तरीका है बाईपास या ~/.profileजब ssh या पोटीन का उपयोग कर एक दूरस्थ लिनक्स सर्वर में प्रवेश के निष्पादन को रोकने के लिए ?
जवाबों:
आप सभी प्रवेश स्क्रिप्ट निष्क्रिय करने के लिए देख रहे हैं, तो आप उपयोग कर सकते हैं --noprofileनिष्क्रिय करने के लिए ध्वज /etc/profile, ~/.profileआदि और --norcनिष्क्रिय करने के लिए ~/.bashrcतो जैसे:
$ ssh 127.0.0.1 "bash --noprofile --norc"
ध्यान रखें कि यदि आप उपलब्ध हैं तो आप एक वैकल्पिक शेल भी लॉन्च कर सकते हैं। मुझे इसमें गड़बड़ करने के बाद इसका उपयोग करना पड़ा है chsh:
$ ssh 127.0.0.1 sh
यह सबसे अधिक संभावना है कि आपको एक खाली शेल (कोई संकेत नहीं) में गिरा देगा ताकि यह lsसुनिश्चित कर सके कि यह काम कर रहा है।
यदि आपकी लक्ष्य मशीन एक बैश शेल में है:
user@host:/$ ssh hostname "bash --noprofile"
वैकल्पिक रूप से, यदि कोई अन्य प्रोफ़ाइल है जिसका आप उपयोग करना चाहते हैं
user@host:/$ ssh hostname "bash --noprofile; source ~/.other_profile"
इसके अलावा, गलत लॉगिन फ़ाइल को हटाने के लिए WinSCP जैसे FTP प्रोग्राम का उपयोग करने का प्रयास करें। यह इसे छोड़ देगा, लेकिन कम से कम आपको डिफ़ॉल्ट शेल में लॉगिन करने में सक्षम होना चाहिए
जैसा कि अन्य लोगों ने उल्लेख किया है, जब आप कनेक्शन आरंभ करते हैं तो ध्वज के साथ बैश चलाना --noprofileकाम करेगा, हालांकि यदि आप एक अलग शेल का उपयोग कर रहे हैं तो यह विकल्प नहीं भी हो सकता है।
एक विकल्प यह होगा कि प्रोफाइल स्क्रिप्ट एक SSH कनेक्शन का पता लगाए और उसी के अनुसार व्यवहार करे। चूंकि एसएसएच कनेक्शन सामान्य रूप से कई पर्यावरण चर निर्धारित करेगा, इसलिए इसे आसानी से जांचा जा सकता है। अपनी प्रोफ़ाइल के आरंभ में निम्नलिखित पंक्तियों की तरह कुछ जोड़ना चाहिए:
if [ "$SSH_CONNECTION" != "" ]; then
echo Logging in with ssh
return
else
echo Logging in with something that is not ssh
fi
# rest of your profile goes here
returnस्क्रिप्ट के बाकी को छोड़ देगा, तो $SSH_CONNECTIONवातावरण चर सेट किया गया है, जो आम तौर पर जब भी एक SSH कनेक्शन आरंभ बनाई किया जाएगा। अन्यथा प्रोफ़ाइल को सामान्य की तरह चलाया जाएगा।
ध्यान दें कि यह केवल प्रभावित प्रोफ़ाइल स्क्रिप्ट को छोड़ देगा। /etc/profileजब तक आप उन्हें इसी तरह संशोधित नहीं करेंगे तब तक सभी अन्य प्रोफ़ाइल स्क्रिप्ट (जैसे:) अभी भी संसाधित की जाएंगी।