Làm cho ssh thực sự yên tĩnh


15

Tôi đang đi được nửa chặng đường để viết một kịch bản nagios và tôi đã gặp phải sự phiền toái với SSH.

Theo trang người đàn ông:

-q       Quiet mode.  Causes all warning and diagnostic messages to be
         suppressed.

Tuy nhiên, nếu tôi bật cờ im lặng và sau đó vượt qua một cổng không hợp lệ, tôi vẫn gặp lỗi:

$ ssh user@localhost -q -p test
Bad port 'test'

Đây là một vấn đề, bởi vì điều đó sẽ khiến thông điệp đó trở thành dòng đầu tiên và đó là những gì được Nagios nắm lấy. Tôi cần xuất ra một cái gì đó như "Cảnh báo | Lỗi SSH" sau khi chọn != 0mã thoát từ ssh, nhưng dòng đầu tiên tôi có thể xuất ra sẽ là dòng 2.

Làm cách nào tôi có thể làm cho SSH TRULY yên tĩnh?

Lưu ý: Tôi không chắc chắn nên đăng câu hỏi này trên serverfault, trên superuser hay trên stackoverflow. Tôi đã đi với serverfault vì cơ sở người dùng có lẽ là người có kinh nghiệm nhất với cli SSH và cli scripting.


2
Không phải là nó thực sự có ích, nhưng có vẻ như hướng dẫn đã được cập nhật để phản ánh điều này. Kể từ OpenSSH 5.8 (và có thể sớm hơn), tuyên bố rằng " hầu hết các cảnh báo và chẩn đoán" sẽ bị loại bỏ, thay vì " tất cả các cảnh báo và chẩn đoán".
James Sneeringer

heh phiền phức! điểm tốt mặc dù.
SimonJGreen

Tại sao không tránh việc cố gắng kết nối với một cổng không hợp lệ?
Zoredache

1
@Zoredache Đây là lỗi bắt / xử lý. Tránh một lỗi đánh máy không giải quyết được vấn đề về cách xử lý một cách duyên dáng;)
SimonJGreen

Câu trả lời:


25
ssh user@localhost -q -p test 2> /dev/null 

sẽ chuyển hướng stderrđến / dev / null.


2
Bây giờ tôi cảm thấy như một miếng hoàn chỉnh. Sẽ dạy tôi viết mã vào đêm khuya!
SimonJGreen

-2

Hoặc, phương thức lưu trữ dễ nhất LogLevel QUIETtrong tệp cấu hình:

$ cat ~/.ssh/config 
Host *
  IdentityFile ~/.ssh/id_rsa
  StrictHostKeyChecking no
  UserKnownHostsFile /dev/null
  LogLevel QUIET
  ...

Kết thúc nhận được kết quả tương tự như trên với rất ít gõ.

Chúc mừng


1
Tôi đã bỏ qua câu trả lời vì nó không giải quyết được vấn đề đã được hỏi ở đây:% ssh -p test -oLogLevel = QUIET localhost Cổng xấu 'test'
cstamas
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.