SSH istemci seçeneği sunucu afişleri bastırmak için?


15

İstemciden yazdırma motd ssh oturum durdurma okudum ? ancak durumum biraz farklı:

  • Banner / path / to / sometxt serveride tutmak istiyorum
  • Banner yazdırılmaması için belirli koşullar altında bir seçenek iletmek istiyorum (örn. ssh -o "PrintBanner=No" someserver).

Herhangi bir fikir?

Yanıtlar:


-1

Yapamazsın. (En azından OpenSSH stoku ile değil)

Sunucu başlığı kimlik doğrulama gerçekleşmeden önce sunucu tarafından gönderilir. Buradaki nokta genellikle yasal bir feragatname veya benzer bir "ŞİMDİ bağlantıyı kesme yetkiniz yoksa" türü iletiyi veya uzak kullanıcının bastırmasını / yoksaymasını istemediğiniz diğer kritik şeyleri içermesidir.

Bundan gerçekten kurtulmak istiyorsanız, SSH istemcisinin kendi özelleştirilmiş sürümünüzü kesmeniz ve derlemeniz gerekir.


15
Bu eski bir bilgidir ve artık ortak dağıtımlarda doğru değildir. Aşağıdaki yanıtlardan birini kullanmak -qveya -o LogLevel=errorşimdi harika çalışmak :-)
Dogsbody

30

Bir LogLevelseçenek var:

Banner'ı susturur, ancak yine de hata alabilirsiniz:

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

OpenSSH 6.9 istemcisi ile çalışmadı - belki sürüm bilgileri yararlı olabilir mi?
Zayne S Halsall

OpenSSH_6.6.1p1 ile çalışır Ubuntu-2ubuntu2.3, OpenSSL 1.0.1f 6 Ocak 2014
Kulbir Saini

6

Ben test ettim, sanırım u -qssh komutunda kullanabilirsiniz. -Q parametresi Sessiz mod anlamına gelir . Çoğu uyarı ve teşhis mesajının bastırılmasına neden olur, örn.

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

veya

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

Umarım bu başkalarına yardımcı olabilir


-q CentOS 6 ve 2.6 (istemci OpenSSH 6.9 idi Suse bir Fedora 22 müşteriden işi yoktu belirli ssh sürümü başvurulan Belki bu cevap upvoted olacaktır.?
Zayne S Halsall

6

Büyük başlığı bastırmak için ~ / .ssh / config dosyasını aşağıdakilerle güncelleyin

Host *
    LogLevel error

"Host *" satırının gereksiz veya yanlış olduğuna inanıyorum. Her halükarda, onsuz istenen etkiyi elde ederim. Bununla birlikte, OP'nin belirli programlı koşullar altında etki almak istediğine dikkat edilmelidir, bu durumda yukarıda listelenen komut satırı seçeneği daha iyi bir çözümdür.
UncaAlby

4

BannerBir Matchblok içinde farklı (hiçbirine) ayarlayabilmeniz gerekir .

Örneğin:

Match Address 192.0.2.0/24
        Banner none

Ancak bu, belirli koşullara bağlı olarak sunucu tarafında yapılmalıdır . İstemci tarafından yapamazsınız .


4

-Q gibi görünüyor :

Sessiz mod. Uyarı ve teşhis mesajlarının çoğunun bastırılmasına neden olur.

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

İle -q

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

Güzel ve sessiz. Banner hala yapılandırılmış, ancak rahatsız etmiyorsunuz.

Başka bir not: afiş kullanmayın. Hiçbir şeyi onaylamamak veya reddetmemek en iyisidir. Endişelenmediğin insanlarla sana yardım etmeyecek ve endişelendiğin insanlar geçtikçe gülecekler;-)


0

Benim için, -o LogLevel=errordaha iyiydi -q, çünkü ikincisi önemli hata bilgilerini bastırır (daha sonra sadece çıkış kodu ile elde edebilirsiniz).

Bunu karşılaştırın (seçenekler olmadan): [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

bununla (sessiz) [root@myserver804 myuser1]# ssh -q targetserver1; echo "exit code=$?" exit code=255

bununla (sadece günlük hataları) [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

Sonuç olarak - hala ilgili hatalarla ilgileniyorsanız, -o LogLevel=error


0

Ne -qya da -oLogLevel=erroreserler.

Ne işe yarar STDERR

ssh hostname command 2>/dev/null

Dezavantajı, STDERR baskılamasının sadece SSH programına değil, tüm komuta uygulanmasıdır.


-2

Sadece mermiyi bastırması gereken bir kabuk çağır.

ssh you@someplace.com /bin/bash

Yine de, en azından benim için $ PS1'im ayarlanmadı, bu yüzden asılı gibi görünüyor. Çalıştığını doğrulamak için birkaç komut yazmak zorunda kaldım.


1
Bu, (en azından FreeBSD / OpenSSH_5.8p2'de bulunmuyor) Bannerseçeneğinde gösterilen bannerları bastırmayacak/etc/sshd_config
voretaq7

Ah, soruda motd gördüm. Bu açıklamayı düzgün bir şekilde okumamı öğrenecek;)
chrskly

-2

Benim için -q hile yaptı ve hala bir dosyaya kaydedilen çıktı ile çalışabildim.

ssh -q root @ server28 "ls -alF / dr_mksysb | egrep -v \" toplam | kayıp + bulundu | ./ | ../ \ "| awk '{print \ $ NF}' | sed 's /.\$ // g '"> $ {basedir} /28.list


Senin için işe yarıyor mu? Bununla birlikte, bu soruya cevap vermez ve en fazla yorum olmalıdır.
Gerald Schneider

Sorun bu, soruya cevap veriyor,
motd'den

Cevabınızın soru ile ilgili tek kısmı -qparametredir. Gerisi tamamen ilgisizdir ve sadece size yardımcı olur. Parametre zaten bir cevap olarak verildi, bu yüzden size yardımcı olduysa onu oylamaktan çekinmeyin, ancak bu "cevap" sadece aşağı oy alacak
Gerald Schneider
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.