Saya sudah membaca Stop ssh login from printing motd from the client? , namun situasiku sedikit berbeda:
- Saya ingin menyimpan Banner / path / ke / sometxt serveride
- Saya ingin memberikan opsi dalam kondisi tertentu sehingga Banner tidak dicetak (mis
ssh -o "PrintBanner=No" someserver
.).
Ada ide?
-q
atau-o LogLevel=error
bekerja dengan baik sekarang :-)Ada
LogLevel
opsi:Ini membungkam spanduk tetapi Anda masih dapat menerima kesalahan:
sumber
Saya sudah mengujinya, saya pikir Anda dapat menggunakan
-q
perintah ssh. Parameter -q berarti mode Diam . Ini menyebabkan sebagian besar pesan peringatan dan diagnostik ditekan, misalnyaatau
Semoga ini bisa membantu orang lain
sumber
Perbarui ~ / .ssh / config dengan mengikuti untuk menekan banner
sumber
Anda harus dapat mengatur yang berbeda
Banner
(tidak ada) di dalamMatch
blok.Contohnya:
Tetapi ini harus dilakukan di sisi server , berdasarkan kondisi tertentu. Anda tidak dapat melakukannya dari sisi klien .
sumber
Sepertinya Anda sedang mencari -q :
Mode diam. Menyebabkan sebagian besar pesan peringatan dan diagnostik ditekan.
Dengan
-q
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
;-)
sumber
Bagi saya,
-o LogLevel=error
itu 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
sumber
Baik itu
-q
atau-oLogLevel=error
bekerja.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.
sumber
Panggil saja shell, yang seharusnya menekan banner.
Perhatikan, setidaknya untuk saya, $ PS1 saya tidak siap, jadi sepertinya menggantung. Saya harus mengetik beberapa perintah untuk memverifikasi bahwa itu berfungsi.
sumber
Banner
opsi di/etc/sshd_config
(setidaknya tidak pada FreeBSD / OpenSSH_5.8p2)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
sumber
-q
parameter. 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