Tùy chọn máy khách SSH để chặn các biểu ngữ máy chủ?


14

Tôi đã đọc Dừng đăng nhập ssh từ in motd từ máy khách? Tuy nhiên, tình huống của tôi hơi khác một chút:

  • Tôi muốn giữ các máy chủ Banner / path / to / đôi khi
  • Tôi muốn vượt qua một tùy chọn trong các điều kiện cụ thể để Banner không được in (ví dụ ssh -o "PrintBanner=No" someserver).

Bất kỳ ý tưởng?

Câu trả lời:


-1

Bạn không thể. (Ít nhất là không với chứng khoán OpenSSH)

Biểu ngữ máy chủ được gửi bởi máy chủ trước khi xác thực xảy ra. Điểm thường là để từ chối trách nhiệm pháp lý hoặc thông báo loại "Nếu bạn không được phép ngắt kết nối NGAY" hoặc những điều quan trọng khác mà bạn không muốn người dùng từ xa có thể ngăn chặn / bỏ qua.

Nếu bạn thực sự muốn thoát khỏi điều này, bạn sẽ cần phải hack và biên dịch phiên bản máy khách SSH tùy chỉnh của riêng bạn.


15
Đây là thông tin cũ và không còn đúng trên các bản phân phối phổ biến. Các câu trả lời dưới đây để sử dụng -qhoặc -o LogLevel=errorlàm việc tuyệt vời ngay bây giờ :-)
Dogsbody

27

Có một LogLevellựa chọn:

Nó làm im lặng banner nhưng bạn vẫn có thể nhận được lỗi:

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

Không hoạt động với ứng dụng khách OpenSSH 6.9 - có lẽ thông tin phiên bản sẽ hữu ích?
Zayne S Halsall

Hoạt động với OpenSSH_6.6.1p1 Ubuntu-2ubfox2.3, OpenSSL 1.0.1f ngày 6 tháng 1 năm 2014
Kulbir Saini

6

Tôi đã thử nó, tôi nghĩ rằng bạn có thể sử dụng -qtrong lệnh ssh. Tham số -q có nghĩa là chế độ Im lặng . Nó khiến hầu hết các thông báo cảnh báo và chẩn đoán bị chặn, ví dụ

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

hoặc là

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

Hy vọng điều này có thể giúp đỡ người khác


-q đã không hoạt động từ một khách hàng Fedora 22 đến Centos 6 và Suse 2.6 (khách hàng là OpenSSH 6.9. Có lẽ câu trả lời này sẽ được nâng cấp nếu tham chiếu phiên bản ssh cụ thể?
Zayne S Halsall

5

Cập nhật ~ / .ssh / config bằng cách tắt biểu ngữ

Host *
    LogLevel error

Tôi tin rằng dòng "Máy chủ *" là dự phòng hoặc không chính xác. Ở mức nào, tôi có được hiệu quả mong muốn mà không cần nó. Altho cần lưu ý rằng OP muốn có được hiệu ứng trong các điều kiện lập trình nhất định, trong trường hợp đó, tùy chọn dòng lệnh được liệt kê ở trên là giải pháp tốt hơn.
UncaAlby

4

Bạn sẽ có thể đặt khác Banner(thành không) trong một Matchkhối.

Ví dụ:

Match Address 192.0.2.0/24
        Banner none

Nhưng điều này phải được thực hiện phía máy chủ , dựa trên các điều kiện cụ thể. Bạn không thể làm điều đó từ phía khách hàng .


4

Có vẻ như bạn đang tìm kiếm -q :

Chế độ yên lặng. Gây ra hầu hết các thông báo cảnh báo và chẩn đoán bị chặn.

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

Với -q

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

Đẹp và yên lặng. Biểu ngữ vẫn được định cấu hình nhưng bạn không bị làm phiền bởi nó.

Một lưu ý khác: không sử dụng biểu ngữ. Tốt nhất là không xác nhận hay từ chối bất cứ điều gì. Nó sẽ không giúp bạn với những người bạn không lo lắng và những người bạn lo lắng sẽ cười khi họ làm việc qua nó;-)


0

Đối với tôi, -o LogLevel=errortốt hơn là -qbởi vì cái sau ngăn chặn thông tin lỗi quan trọng (mà sau đó bạn chỉ có thể nhận được thông qua mã thoát).

So sánh điều này (không có tùy chọn): [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

với điều này (yên tĩnh) [root@myserver804 myuser1]# ssh -q targetserver1; echo "exit code=$?" exit code=255

với điều này (chỉ lỗi đăng nhập) [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

Vì vậy, kết luận là - nếu bạn vẫn quan tâm đến các lỗi liên quan, hãy sử dụng -o LogLevel=error


0

Không phải -qhoặc các -oLogLevel=errorcông trình.

Những gì không hoạt động là để ngăn chặn STDERR

ssh hostname command 2>/dev/null

Tuy nhiên, nhược điểm là triệt tiêu STDERR được áp dụng cho toàn bộ lệnh chứ không chỉ chương trình SSH.


-2

Chỉ cần gọi một vỏ, mà nên đàn áp banner.

ssh you@someplace.com /bin/bash

Tuy nhiên, xin lưu ý, đối với tôi, ít nhất, $ PS1 của tôi không được đặt, vì vậy có vẻ như nó đang bị treo. Tôi đã phải gõ một vài lệnh để xác minh rằng nó đang hoạt động.


1
Điều này sẽ không loại bỏ các biểu ngữ được hiển thị bởi Bannertùy chọn trong /etc/sshd_config(ít nhất là không có trên FreeBSD / OpenSSH_5.8p2)
voretaq7

Ah, tôi đã thấy motd trong câu hỏi. Điều đó sẽ học cho tôi đọc mô tả đúng;)
chrskly

-2

Đối với tôi -q đã thực hiện thủ thuật này và tôi vẫn có thể làm việc với đầu ra được lưu vào một tệp.

ssh -q root @ server28 "ls -alF / dr_mksysb | egrep -v \" tổng | mất + tìm thấy | ./ | ../ \ "| awk '{print \ $ NF}' | sed 's /.\$ // g '"> $ {dựair} /28.list


Thật tuyệt khi nó làm việc cho bạn. Tuy nhiên, điều này không trả lời câu hỏi và nên bình luận nhiều nhất.
Gerald Schneider

Đó là vấn đề, nó trả lời câu hỏi, tôi đã thoát khỏi motd (banner) Tôi gặp vấn đề chính xác như đã nêu trong câu hỏi
Zatarra

Phần duy nhất của câu trả lời của bạn liên quan đến câu hỏi là -qtham số. Phần còn lại hoàn toàn không liên quan và chỉ hữu ích cho bạn. Tham số này đã được đưa ra dưới dạng câu trả lời, vì vậy, vui lòng nâng cấp nó nếu nó giúp bạn, nhưng "câu trả lời" này sẽ chỉ nhận được downvote
Gerald Schneider
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.