वहाँ एक तरीका है बाईपास या ~/.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
जब तक आप उन्हें इसी तरह संशोधित नहीं करेंगे तब तक सभी अन्य प्रोफ़ाइल स्क्रिप्ट (जैसे:) अभी भी संसाधित की जाएंगी।