OpenSSH क्लाइंट से ssh बैनर को दबाना


34

मैं एक सर्वर में लॉग इन कर रहा हूं जिसमें ssh बैनर सेट है। मैं इसे (विशेषकर गैर-संवादात्मक उपयोग के लिए) दबाना चाहूंगा। मेरे पास सर्वर तक पहुंच नहीं है sshd_config

अब तक मैंने जो सबसे अच्छा समाधान पाया है, LogLevel ERRORवह क्लाइंट पर विकल्प सेट करना है। समस्या यह है कि यह किसी भी अन्य INFOस्तर के संदेशों को दबा देगा , जिन्हें मैं छिपाना नहीं चाहता हूं ( logitउदाहरण के लिए ओपनएसएसएच स्रोत खोजें )। मैं भी इस्तेमाल कर सकता था ssh -qलेकिन यह और भी अधिक दबाएगा।

क्या कोई अन्य विशिष्ट समाधान हैं?

जवाबों:


43

AFAIK, " ssh -q" या " LogLevel QUIET" ~/.ssh/configबैनर को चुप कराने के "पारंपरिक" तरीके हैं। इसलिए आपके पास पहले से ही "बेहतर" समझौता है LogLevel ERROR

एक अधिक विशिष्ट समाधान ssh क्लाइंट के कस्टम पैच किए गए संस्करण का उपयोग करना होगा, यदि यह एक विकल्प है।


2
मुझे लगता है कि LogLevel ERRORकेवल ओपनएसएसएच के नए संस्करणों में बैनर को दबा देता है। पुराने संस्करणों में, LogLevel QUIETया ssh -qआवश्यक हैं।
माइकल हॉफमैन

3
यदि -qयह काम नहीं करता है (यह मेरे लिए डेबियन 7 पर नहीं है) तो आप एक और प्रश्न के समाधान का उपयोग कर सकते हैं: serverfault.com/a/764403/62024
Nux

1

आप भी उपयोग कर सकते हैं:

Banner none

पर

/etc/ssh/sshd_config

1
ओपी ने निर्दिष्ट किया "मेरे पास सर्वर तक पहुंच नहीं है sshd_config", इसलिए दुर्भाग्य से यह सवाल का जवाब नहीं देता है।
श्री शुनज

@MrShunz आप सही हैं, लेकिन मैं इस पृष्ठ पर Suppressing ssh banner from OpenSSH clientऔर इस उत्तर के लिए खोज कर आया , जबकि यह पूरी तरह से ओपी प्रश्न का उत्तर नहीं देता है, यह भविष्य के उपयोगकर्ताओं की मदद कर सकता है।
पेड्रो लोबिटो

0

हेक्सेडिट स्थापित करें:

apt-get update && apt-get install hexedit

अपने sshd बाइनरी का बैकअप लें और एक संपादन योग्य कार्य प्रतिलिपि बनाएँ (रूट के रूप में):

  cp -p /usr/sbin/sshd /tmp/sshd.backup
  cp -p /tmp/sshd.backup /tmp/sshd.new

हेक्सेडिट के साथ बाइनरी को अपडेट करें:

hexedit /tmp/sshd.new

HAB से स्विच करने के लिए TAB दबाएँ ASCII क्षेत्र में।

खोज प्रॉम्प्ट को लाने के लिए CTRL + S का उपयोग करें और अपने बैनर में पाठ की खोज करें जैसे आप 'OpenSSH_4.4' को छिपाना चाहते हैं।

आपको कुछ इस तरह देखना चाहिए:

0007DA54   61 67 65 6E  74 00 00 00  4F 70 65 6E  agent...Open
0007DA60   53 53 48 5F  37 2E 34 70  31 20 52 61  SSH_7.4p1 Ra
0007DA6C   73 70 62 69  61 6E 2D 31  30 2B 64 65  spbian-10+de
0007DA78   62 39 75 32  00 00 00 00  4F 70 65 6E  b9u2....Open

उस स्ट्रिंग की शुरुआत को उजागर करने के लिए तीर कुंजियों का उपयोग करें जिसे आप अपडेट करना चाहते हैं और अपना प्रतिस्थापन टाइप करें।

मूल बैनर की लंबाई के दायरे में रहने के लिए सावधान रहें। आप TAB को HEX क्षेत्र में वापस स्विच करने के लिए भी दबा सकते हैं यदि आप स्ट्रिंग को प्रत्येक शब्द को '00' पर सेट करना चाहते हैं।

आपका परिवर्तन कुछ इस तरह दिखना चाहिए:

0007DA54   61 67 65 6E  74 00 00 00  48 65 72 65  agent...Here
0007DA60   20 62 65 20  64 72 61 67  6F 6E 73 2E   be dragons.
0007DA6C   20 54 75 72  6E 20 42 61  63 6B 00 00   Turn Back..
0007DA78   00 00 00 00  00 00 00 00  4F 70 65 6E  ........Open

CTRL + x और Y के साथ अपने परिवर्तन सहेजें।

जांचें कि क्या कोई मिसाल है जो हम चूक गए हैं (हमें उम्मीद है कि अब कोई आउटपुट नहीं):

strings /tmp/sshd.new | grep Rasp

अपडेट अपडेट करें और अच्छे उपाय के लिए सेवा को फिर से शुरू करें:

rm /usr/sbin/sshd
cp -p /tmp/sshd.new /usr/sbin/sshd
systemctl restart ssh.service

जांचें कि आप अभी भी SSH में हैं (अन्यथा बैकअप को पुनर्स्थापित कर सकते हैं या अपने पैकेज प्रबंधक से OpenSSH को पुनर्स्थापित कर सकते हैं!)।

ssh -vv user@ip

ध्यान दें!!

यह परिवर्तन केवल तभी होगा जब आप OpenSSH को अपडेट करेंगे, बाइनरी को बदल दिया जाएगा।


2
हालांकि यह सवाल वास्तव में निर्दिष्ट नहीं किया है कि वे करने के लिए लिखने के लिए पहुँच नहीं है सच है sshd, यह बहुत संभावना के बाद से ऐसा लगता है किया कोई निर्दिष्ट sshd_configपहुँच। वे एक क्लाइंट-आधारित समाधान की तलाश कर रहे हैं।
माइक स्कॉट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.