Opsi klien SSH untuk menekan spanduk server?


Jawaban:


-1

Kamu tidak bisa (Setidaknya tidak dengan stok OpenSSH)

Spanduk server dikirim oleh server sebelum otentikasi terjadi. Intinya biasanya berisi sanggahan hukum atau sejenisnya "Jika Anda tidak berwenang putuskan sambungan SEKARANG", atau hal-hal penting lainnya yang tidak ingin pengguna jarak jauh dapat menekan / abaikan.

Jika Anda benar-benar ingin menyingkirkan ini, Anda perlu meretas dan mengkompilasi versi klien SSH Anda yang telah disesuaikan.


15
Ini adalah informasi lama dan tidak lagi berlaku pada distribusi umum. Jawaban di bawah ini untuk menggunakan salah satu -qatau -o LogLevel=errorbekerja dengan baik sekarang :-)
Dogsbody

28

Ada LogLevelopsi:

Ini membungkam spanduk tetapi Anda masih dapat menerima kesalahan:

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

Tidak bekerja dengan klien OpenSSH 6.9 - mungkin informasi versi akan berguna?
Zayne S Halsall

Bekerja dengan OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.3, OpenSSL 1.0.1f 6 Jan 2014
Kulbir Saini

6

Saya sudah mengujinya, saya pikir Anda dapat menggunakan -qperintah ssh. Parameter -q berarti mode Diam . Ini menyebabkan sebagian besar pesan peringatan dan diagnostik ditekan, misalnya

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

atau

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

Semoga ini bisa membantu orang lain


-q tidak bekerja dari klien Fedora 22 hingga Centos 6 dan Suse 2.6 (klien adalah OpenSSH 6.9. Mungkin jawaban ini akan terangkat jika merujuk versi ssh tertentu?
Zayne S Halsall

5

Perbarui ~ / .ssh / config dengan mengikuti untuk menekan banner

Host *
    LogLevel error

Saya percaya baris "Host *" adalah redundan atau salah. Bagaimanapun, saya mendapatkan efek yang diinginkan tanpa itu. Juga harus dicatat bahwa OP ingin mendapatkan efek di bawah kondisi terprogram tertentu, dalam hal ini opsi baris perintah yang tercantum di atas adalah solusi yang lebih baik.
UncaAlby

4

Anda harus dapat mengatur yang berbeda Banner(tidak ada) di dalam Matchblok.

Contohnya:

Match Address 192.0.2.0/24
        Banner none

Tetapi ini harus dilakukan di sisi server , berdasarkan kondisi tertentu. Anda tidak dapat melakukannya dari sisi klien .


4

Sepertinya Anda sedang mencari -q :

Mode diam. Menyebabkan sebagian besar pesan peringatan dan diagnostik ditekan.

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

Dengan -q

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

Bagus dan tenang. Spanduk masih dikonfigurasikan tetapi Anda tidak terganggu karenanya.

Pada catatan lain: jangan gunakan spanduk. Yang terbaik adalah tidak mengkonfirmasi atau menyangkal apa pun. Itu tidak akan membantu Anda dengan orang-orang yang tidak Anda khawatirkan dan orang-orang yang Anda khawatirkan akan tertawa ketika mereka melewatinya;-)


0

Bagi saya, -o LogLevel=erroritu lebih baik daripada -q, karena yang terakhir menekan informasi kesalahan penting (yang kemudian dapat Anda peroleh hanya melalui kode keluar).

Bandingkan ini (tanpa opsi): [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

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

dengan ini (hanya kesalahan log) [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

Jadi kesimpulannya adalah - jika Anda masih tertarik pada kesalahan yang relevan, gunakan -o LogLevel=error


0

Baik itu -qatau -oLogLevel=errorbekerja.

Apa yang berhasil adalah menekan STDERR

ssh hostname command 2>/dev/null

Namun kerugiannya adalah bahwa penindasan STDERR diterapkan pada seluruh perintah dan bukan hanya program SSH.


-2

Panggil saja shell, yang seharusnya menekan banner.

ssh you@someplace.com /bin/bash

Perhatikan, setidaknya untuk saya, $ PS1 saya tidak siap, jadi sepertinya menggantung. Saya harus mengetik beberapa perintah untuk memverifikasi bahwa itu berfungsi.


1
Ini tidak akan menekan spanduk yang ditampilkan oleh Banneropsi di /etc/sshd_config(setidaknya tidak pada FreeBSD / OpenSSH_5.8p2)
voretaq7

Ah, saya melihat motd dalam pertanyaan itu. Itu akan mempelajari saya untuk membaca deskripsi dengan benar;)
chrskly

-2

Bagi saya -q melakukan trik dan saya masih bisa bekerja dengan output yang disimpan ke file.

ssh -q root @ server28 "ls -alF / dr_mksysb | egrep -v \" total | hilang + ditemukan | ./ | ../ \ "| awk '{print \ $ NF}' | sed 's /.\$ // g '"> $ {basedir} /28.list


Hebat itu bekerja untuk Anda. Namun demikian ini tidak menjawab pertanyaan dan harus menjadi komentar paling banyak.
Gerald Schneider

Itulah masalahnya, itu menjawab pertanyaan, saya menyingkirkan motd (spanduk) Saya punya masalah yang sama persis seperti yang dinyatakan dalam pertanyaan
Zatarra

Satu-satunya bagian dari jawaban Anda yang terkait dengan pertanyaan adalah -qparameter. Sisanya sama sekali tidak berhubungan dan hanya membantu Anda. Parameter telah diberikan sebagai jawaban, jadi jangan ragu untuk meningkatkannya jika itu membantu Anda, tetapi "jawaban" ini hanya akan menerima downvotes
Gerald Schneider
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.