लिनक्स में ~ / .ssh / config को प्रभावित किए बिना ssh समूह कुंजियों की स्थापना


1

मुझे दूरस्थ sit रिपॉजिटरी में प्रकाशित करने के लिए उपयोग की जाने वाली ssh समूह कुंजी सेटअप करनी है।

Git के रूप में (साथ ही साथ मैं कई अन्य कार्यक्रमों को मानता हूं) एक फ्लैग लैग को परिभाषित करने की अनुमति नहीं देता ssh -i वह जानकारी जो कुंजी का उपयोग करने जा रही है वह चूक से आती है या इसमें क्या परिभाषित है ~/.ssh/config

इसके लिए उन उपयोगकर्ताओं के लिए एक नए प्रशासन कार्य की आवश्यकता होगी जिनके लिए यह क्षमता होना आवश्यक है (अर्थात उनमें उचित प्रविष्टियाँ जोड़ें ~/.ssh/config फ़ाइल)।

क्या ऐसा कोई तरीका है जिससे मैं इस प्रयास को छोड़ सकता हूँ? मैं किसी भी पर्यावरण चर का पता लगाने में सक्षम नहीं हुआ, जिसे ओपनएसएसएच द्वारा पढ़ा जाएगा क्योंकि यह एक समाधान होगा (एक रैपिंग स्क्रिप्ट बनाकर जो आवश्यक है)।


Ssh- एजेंट का उपयोग करने से वह समस्या दूर हो जाएगी? यह कई पहचानों के बारे में जानकारी रख सकता है।
tink

@tink: धन्यवाद कि यह एक अच्छा विचार है, इसके बाद उपयोगकर्ता पर्यावरण को साफ रखना कठिन है, लेकिन यह काम करता है।
estani

जवाबों:


0

तो उत्तर इस प्रकार है (धन्यवाद टिंक):

कुंजी धारण करने के लिए ssh- एजेंट का उपयोग करना हमेशा काम करेगा। इसके लिए आप कॉल को स्क्रिप्ट में इनकैप्सुलेट कर सकते हैं:

#!/bin/bash
key=$1
[[ "$SSH_AGENT_PID" ]] || eval $(ssh-agent)
ssh-add $key

#...the rest of the script...

जीआईटी के विशेष मामले में ए GIT_SSH पर्यावरण चर जो कमांड की ओर इशारा करता है जिसे ssh के बजाय कहा जाएगा। इसलिए इसे जारी करना संभव है ssh उसके साथ -i झंडा।

बस आपको यह चेतावनी देने के लिए कि यह अवधारणा का प्रमाण है, आपको यह सुनिश्चित करने की आवश्यकता है कि स्क्रिप्ट लोड करने के बाद पर्यावरण प्रभावित न हो (अर्थात यदि कोई एजेंट था और कुंजी लोड नहीं हुई थी तो आपको चाबी निकालने की आवश्यकता होगी, यदि कोई एजेंट नहीं है तो) वर्तमान, एजेंट को हटा दें, आदि)

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