मौन ssh-add


12

मेरे पास एक क्रोनजॉब है जो कुछ कार्यों को चलाता है, और स्क्रिप्ट की शुरुआत में यह एक ssh-add कॉल है (यह उपयुक्त कुंजी वाले उपयोगकर्ता के रूप में नहीं चलता है, इसलिए इसे जोड़ने की आवश्यकता है, और भविष्य में यह अच्छी तरह से एक का उपयोग कर सकता है संस्करण नियंत्रण में परिभाषित कुंजी तैनात)। यह कुछ इस तरह दिखता है:

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

मैं इसे चुप करना चाहता हूं, क्योंकि यह क्रोनजोब नियमित रूप से चलता है, और मेरे इनबॉक्स में बहुत सारे ईमेल हैं जो कि मुझे पूरी तरह से बेकार बताते हैं कि हां, कुंजी जोड़ा गया था। मैं केवल ईमेल चाहता हूं जब चीजें गलत हो जाती हैं, जैसे एक गिट पुल रिमोट कनेक्शन को लटका देता है, आदि।

तो TLDR, मैं इसे देख रहा हूँ:

पहचान जोड़ी गई: /home/tomjn/.shsh/id_rsa (/home/tomjn/.ssh/id_rsa)

मैं इसे कैसे बंद कर सकता हूं?

मैंने चीजों की कोशिश की है:

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

लेकिन कोई फायदा नहीं हुआ। मैन पेज इंगित नहीं करता है कि एक --quietपैरामीटर है, क्या कुछ और है जो मैं आउटपुट को चुप करने के लिए कर सकता हूं?

जवाबों:


18

ssh-addकमांड का आउटपुट STDERR पर है। आउटपुट को दबाने के लिए आपको STDERR को / dev / null पर पुनर्निर्देशित करना होगा:

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

या वैकल्पिक रूप से कमांड को समाप्त करके सभी आउटपुट को दबा देते हैं >/dev/null 2>&1


2
एक शांत झंडे को बारीक-बारीक किया जाएगा, क्योंकि यह सामान्य ऑपरेशन को मौन करने की अनुमति देगा जबकि त्रुटियों (जैसे कुंजी नहीं मिली, या पठनीय नहीं) को देखा जा सकता है। Github.com/openssh/openssh-portable/blob/master/ssh-add.c पर एक त्वरित नज़र इस बात की पुष्टि करती है कि स्रोत कोड में कोई विकल्प नहीं है। अन्य विकल्प विशेष रूप से "जोड़े गए" संदेश को फ़िल्टर करने के लिए हैं, लेकिन यह आम तौर पर त्रुटि से निपटने में हस्तक्षेप करता है (यदि आप set -euकुछ रन-टाइम स्वच्छता जांच के लिए देखभाल करते हैं )। कोई संकेत नहीं है कि यह सब यहां महत्वपूर्ण है, इसलिए बस पुनर्निर्देशित स्टेडर पर्याप्त होना चाहिए।
स्टीफन गौरिचोन

4
अब मैन पेज पर इसके लिए एक विकल्प है। आपके द्वारा लिंक किए गए कोड में अब इस झंडे का उल्लेख हेल्प आउटपुट में है । ध्वज को इस कमिट में जोड़ा गया था। हालांकि, OpenSSH_7.6p1मेरे होमब्रेक से मैक है (सबसे हाल में उपलब्ध) और यह झंडा काम नहीं करता है - -qविकल्प मदद में उपलब्ध है, लेकिन यह महत्वपूर्ण ऐड आउटपुट को परिवर्तित नहीं करता है।
ऑस्टिनहेम

1
-qकुबंटु 18.04 पर भी काम नहीं करता है।
सिस्टमोविच
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.