SSH क्लाइंट विकल्प सर्वर बैनरों को दबाने के लिए?


15

मैंने क्लाइंट से प्रिंट एसडीडी से स्टॉप एसएचएस लॉगिन पढ़ा है ? हालाँकि मेरी स्थिति थोड़ी अलग है:

  • मैं Banner / path / to / somext serveride रखना चाहता हूं
  • मैं विशिष्ट परिस्थितियों में एक विकल्प पारित करना चाहूंगा ताकि बैनर मुद्रित न हो (जैसे ssh -o "PrintBanner=No" someserver)।

कोई उपाय?

जवाबों:


-1

आप नहीं कर सकते। (कम से कम स्टॉक ओपनएसएसएच के साथ नहीं)

सर्वर बैनर प्रमाणीकरण होने से पहले सर्वर द्वारा भेजा जाता है। यह आमतौर पर एक कानूनी अस्वीकरण या इसी तरह का "सम्‍मिलित करने के लिए" यदि आप अभी अधिकृत डिस्कनेक्ट नहीं हैं "संदेश टाइप करें, या अन्य महत्वपूर्ण चीजें जो आप नहीं चाहते कि दूरस्थ उपयोगकर्ता को दबा / अनदेखा करने में सक्षम हो।

यदि आप वास्तव में इससे छुटकारा पाना चाहते हैं तो आपको SSH क्लाइंट के अपने स्वयं के अनुकूलित संस्करण को हैक और संकलित करना होगा।


15
यह पुरानी जानकारी है और आम वितरण पर अब सही नहीं है। नीचे दिए गए उत्तर -qया तो उपयोग करने के लिए या -o LogLevel=errorअब महान काम करने के लिए :-)
Dogbody

30

एक LogLevelविकल्प है:

यह बैनर मौन है लेकिन आप अभी भी त्रुटियां प्राप्त कर सकते हैं:

$ ssh -o LogLevel=error localhost 
Permission denied (publickey).

OpenSSH 6.9 क्लाइंट के साथ काम नहीं किया - शायद संस्करण की जानकारी उपयोगी होगी?
ज़ेन एस हल्सल

OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.3, OpenSSL 1.0.1f 6 जनवरी 2014 के साथ काम करता है
कुलबीर सैनी

6

मैं यह परीक्षण किया है, मुझे लगता है कि आप -qssh कमांड में उपयोग कर सकते हैं । पैरामीटर -q का मतलब था क्विट मोड । यह अधिकांश चेतावनी और नैदानिक ​​संदेशों को दबाने का कारण बनता है, जैसे

ssh -t '$node2' 'sudo cat xxx' |grep xxxxx" 2>/dev/null >/root/node2

या

ssh -t -q '$node2' 'sudo cat xxxx' |grep xxx" >/root/node2

आशा है कि यह दूसरों की मदद कर सकता है


-q ने Fedora 22 क्लाइंट से Centos 6 और Suse 2.6 तक काम नहीं किया (क्लाइंट OpenSSH 6.9 था। हो सकता है कि यदि यह विशिष्ट ssh संस्करण संदर्भित करता है तो यह उत्तर अपग्रेड किया जाएगा?
Zayne S Halsall

6

बैनर को दबाने के लिए अद्यतन ~ /। Ssh / config के साथ

Host *
    LogLevel error

मेरा मानना ​​है कि "होस्ट *" लाइन या तो बेमानी है या गलत है। किसी भी दर पर, मुझे इसके बिना वांछित प्रभाव मिलता है। एल्थो में यह ध्यान दिया जाना चाहिए कि ओपी कुछ प्रोग्रामेटिक शर्तों के तहत प्रभाव प्राप्त करना चाहता था, इस मामले में ऊपर सूचीबद्ध कमांड लाइन विकल्प बेहतर समाधान है।
UncaAlby

4

आपको Bannerएक Matchब्लॉक के अंदर एक अलग (कोई भी नहीं) सेट करने में सक्षम होना चाहिए ।

उदाहरण के लिए:

Match Address 192.0.2.0/24
        Banner none

लेकिन यह विशिष्ट स्थितियों के आधार पर सर्वर-साइड किया जाना है । आप इसे क्लाइंट की तरफ से नहीं कर सकते ।


4

लगता है जैसे आप -q की तलाश कर रहे हैं :

शांत तरीका। अधिकांश चेतावनी और नैदानिक ​​संदेशों को दबा दिया जाता है।

ssh user@host
*------------------------------------------------------------------------------*
| banner: blah                                                                 |
*------------------------------------------------------------------------------*
Last login: Mon Oct  2 16:40:01 2017 from ipAddress
$

साथ में -q

ssh -q user@host
Last login: Mon Oct  2 16:40:30 2017 from ipAddress
$

अच्छा और शांत। बैनर अभी भी कॉन्फ़िगर किया गया है लेकिन आप इससे परेशान नहीं हैं।

दूसरे नोट पर: बैनर का उपयोग न करें। किसी भी चीज़ की पुष्टि या खंडन नहीं करना सबसे अच्छा है। यह उन लोगों के साथ आपकी मदद नहीं करेगा जिनके बारे में आप चिंतित नहीं थे और जिन लोगों के बारे में आप चिंतित हैं, वे हँसेंगे क्योंकि वे इसे पिछले काम करते हैं;-)


0

मेरे लिए, -o LogLevel=errorकी तुलना में बेहतर था -q, क्योंकि उत्तरार्द्ध महत्वपूर्ण त्रुटि जानकारी को दबा देता है (जिसे आप तब केवल निकास कोड के माध्यम से प्राप्त कर सकते हैं)।

इसकी तुलना करें (विकल्प के बिना): [root@myserver804 myuser1]# ssh targetserver1; echo "exit code=$?" @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that a host key has just been changed. The fingerprint for the RSA key sent by the remote host is SHA256:hvtR8Dl09aUeCeG2cT5EA8b+nbCOoV6h1DUON2vE63w. Please contact your system administrator. Add correct host key in /root/.ssh/known_hosts to get rid of this message. Offending RSA key in /root/.ssh/known_hosts:1735 RSA host key for targetserver1 has changed and you have requested strict checking. Host key verification failed. exit code=255

इसके साथ (शांत) [root@myserver804 myuser1]# ssh -q targetserver1; echo "exit code=$?" exit code=255

इसके साथ (केवल लॉग त्रुटियां) [root@myserver804 myuser1]# ssh -o LogLevel=error targetserver1; echo "exit code=$?" @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that a host key has just been changed. The fingerprint for the RSA key sent by the remote host is SHA256:hvtR8Dl09aUeCeG2cT5EA8b+nbCOoV6h1DUON2vE63w. Please contact your system administrator. Add correct host key in /root/.ssh/known_hosts to get rid of this message. Offending RSA key in /root/.ssh/known_hosts:1735 RSA host key for targetserver1 has changed and you have requested strict checking. Host key verification failed. exit code=255

तो निष्कर्ष है - यदि आप अभी भी प्रासंगिक त्रुटियों में रुचि रखते हैं, तो उपयोग करें -o LogLevel=error


0

न तो -qया -oLogLevel=errorकाम करता है।

क्या काम करता है STDERR को दबाने के लिए

ssh hostname command 2>/dev/null

हालांकि, नकारात्मक पक्ष यह है कि एसटीडीआरआर दमन पूरे कमांड पर लागू होता है, न कि केवल एसएसएच प्रोग्राम पर।


-2

बस एक शेल को कॉल करें, जो बैनर को दबा देना चाहिए।

ssh you@someplace.com /bin/bash

ध्यान दें, हालांकि, मेरे लिए कम से कम, मेरा $ PS1 सेट नहीं है, इसलिए ऐसा लगता है कि यह लटका हुआ है। मुझे यह सत्यापित करने के लिए कुछ कमांड टाइप करनी थी कि यह काम कर रहा है।


1
यह Bannerविकल्प द्वारा दिखाए गए बैनरों /etc/sshd_configको नहीं दबाएगा (कम से कम यह FreeBSD / OpenSSH_5.8p2 पर नहीं है)
voretaq7

आह, मैंने सवाल में मोटेड देखा। यह मुझे वर्णन ठीक से पढ़ने के लिए
सीखेगा

-2

मेरे लिए -q ने चाल चली और मैं अभी भी आउटपुट के साथ काम करने में सक्षम था एक फ़ाइल में सहेजा गया।

ssh -q root @ server28 "ls -alF / dr_mksysb | egrep -v \" कुल | खोया + पाया गया है। // g '"> $ {आधारित /} / 28.सूची


बढ़िया है कि यह आपके लिए काम करे। फिर भी यह सवाल का जवाब नहीं देता है और कम से कम एक टिप्पणी होनी चाहिए।
गेराल्ड श्नाइडर

यही समस्या है, यह सवाल का जवाब देता है, मैं मोटर्ड (बैनर) से छुटकारा पा गया था मुझे बिल्कुल वैसी ही समस्या थी जैसा कि सवाल में कहा गया है
ज़तरा

आपके उत्तर का एकमात्र हिस्सा जो प्रश्न से संबंधित है वह -qपैरामीटर है। बाकी पूरी तरह से असंबंधित है और केवल आपके लिए सहायक है। पैरामीटर पहले से ही एक उत्तर के रूप में दिया गया है, इसलिए इसे उखाड़ने के लिए स्वतंत्र महसूस करें यदि यह आपकी मदद करता है, लेकिन यह "उत्तर" केवल डाउनवोट प्राप्त करेगा
जेराल्ड श्नाइडर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.