Im lặng ssh-add


12

Tôi có một cronjob chạy một số tác vụ và khi bắt đầu tập lệnh, nó chạy là một cuộc gọi ssh-add (nó không chạy với tư cách là người dùng có khóa thích hợp nên cần thêm và trong tương lai nó có thể sử dụng một khóa triển khai được xác định trong kiểm soát phiên bản). Cái này trông giống như thế này:

ssh-agent bash -c "ssh-add /home/tomjn/.ssh/id_rsa; etc... "

Tôi muốn tắt tiếng vì cronjob này chạy thường xuyên và tôi có rất nhiều email trong hộp thư đến hoàn toàn vô dụng với tôi nói rằng có, khóa đã được thêm vào. Tôi chỉ muốn email khi có sự cố, như git pull kết nối từ xa bị treo, v.v., điều đó xảy ra.

Vì vậy, TLDR, tôi tiếp tục thấy điều này:

Đã thêm danh tính: /home/tomjn/.ssh/id_rsa (/home/tomjn/.ssh/id_rsa)

Làm thế nào để tôi tắt nó?

Tôi đã thử những thứ như:

ssh-add /home/tomjn/.ssh/id_rsa > /dev/null

Nhưng không có kết quả. Trang man không chỉ ra rằng có một --quiettham số, tôi có thể làm gì khác để tắt tiếng đầu ra không?

Câu trả lời:


18

Đầu ra của ssh-addlệnh là trên STDERR. Bạn cần chuyển hướng STDERR sang / dev / null để chặn đầu ra:

mtak@frisbee:~$ ssh-add .ssh/id_rsa 2>/dev/null
mtak@frisbee:~$ 

hoặc thay thế triệt tiêu tất cả đầu ra bằng cách kết thúc lệnh bằng >/dev/null 2>&1


2
Một lá cờ yên tĩnh sẽ được làm mịn hơn vì nó sẽ cho phép im lặng hoạt động bình thường trong khi cho phép các lỗi (như không tìm thấy khóa hoặc không thể đọc được) được phát hiện. Một cái nhìn nhanh về github.com/openssh/openssh-portable/blob/master/ssh-add.c xác nhận rằng không có tùy chọn nào trong mã nguồn. Các tùy chọn khác là để lọc cụ thể thông báo "đã thêm", nhưng trong bash, điều này thường can thiệp vào việc xử lý lỗi (nếu bạn quan tâm đến set -eumột số kiểm tra vệ sinh trong thời gian chạy). Không có gợi ý rằng tất cả điều này là quan trọng ở đây, vì vậy chỉ cần chuyển hướng stderr là đủ.
Stéphane Gourichon

4
Bây giờ có một tùy chọn cho việc này trên trang người đàn ông Ngoài ra, các mã bạn liên kết nào bây giờ có một đề cập đến lá cờ này trong đầu ra giúp đỡ Lá cờ được thêm vào trong này cam kết Tuy nhiên, tôi có OpenSSH_7.6p1trên mac của tôi từ homebrew (gần đây nhất) và cờ này dường như không hoạt động - -qtùy chọn có sẵn trong trợ giúp, nhưng nó không thay đổi đầu ra thêm khóa.
austinheiman

1
-qcũng không hoạt động trên Kubfox 18.04.
systemovich
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.