2009-12-15 2 views
98

मुझे पता है कि जवाब वहां है, लेकिन मैं सुंदर यूनिक्स-गूंगा हूं और अगर यह मुझे चेहरे पर मारा तो शायद समाधान को पहचान नहीं पाएगा।एसवीएन + एसएसएच, हर बार ssh-add नहीं करना है? (मैक ओएस)

मैं किसी Mac हूँ, SSH सुरंग के माध्यम से एक SVN सर्वर से कनेक्ट। मुझे हर बार ssh-add privateKey.txt करना है जब मैं एसवीएन सर्वर से कनेक्ट करना चाहता हूं (दोनों कॉर्नरस्टोन और एक्सकोड एसवीएन से कनेक्ट हो रहे हैं)।

वहाँ एक रास्ता तो मैं इस पर हर बार ऐसा करने के लिए नहीं है कुंजी कहीं "सेव" करने के लिए है? इसे मेरे कीचेन में जोड़ें? कुछ विन्यास फाइल? स्क्रिप्ट शुरू करें?

उत्तर

167

पहले, ~/.ssh में अपनी निजी कुंजी फ़ाइल ले जाएँ। यह कड़ाई से जरूरी नहीं है लेकिन यह ऐसी चीजों के लिए मानक जगह है।

फिर ssh-add -K ~/.ssh/privateKey.txt चलाते हैं। यदि आवश्यक हो तो यह आपके पासफ्रेज के लिए संकेत देगा, फिर इसे अपने कीचेन में जोड़ें।

उसके बाद, आपको कुछ और करने की ज़रूरत नहीं है। थोड़ा सा स्पष्टीकरण here उपलब्ध है।

+16

मैं समझ यह स्पष्ट रूप से ध्यान देने योग्य बात है कि यह एक मैक बात है, नहीं एक सार्वभौमिक यूनिक्स बात यह है लायक है। उबंटू पर, 'ssh-add'' -K' तर्क नहीं ले सकता है। –

+2

मैं यह ध्यान रखना चाहता हूं कि लिंक्ड आलेख तेंदुए के लिए है, यह अभी भी ओएस एक्स मैवरिक्स में काम करता है। –

+1

शायद किसी के पास अन्य वातावरण के लिए समकक्ष कमांड है? mysysgit का ssh-add -K तर्क स्वीकार नहीं करता है, या तो – Blake

2

इस संस्करण अपने लिए ठीक है अगर मैं Macs के साथ ज्यादा अनुभव है, तो यकीन नहीं की जरूरत नहीं है, लेकिन http://www.phil.uu.nl/~xges/ssh/

पर एक नज़र इस विशेष अनुप्रयोग काम नहीं करता है, तो इसे आप क्या देख रहे हैं किसी भी तरह के लिए - ssh agent। यूनिक्स जैसी बॉक्सों पर, आप वैश्विक प्रभाव प्राप्त करने के लिए, अपने पूरे विंडो प्रबंधक को शुरू करना चाहते हैं, लेकिन यह ओएसएक्स में संभव नहीं हो सकता है।

कुछ अधिक जानकारी: http://www-uxsup.csx.cam.ac.uk/~aia21/osx/leopard-ssh.html

1

sshkeychain एक संभावना है।

sudo port install sshkeychain 

यह पासवर्ड स्टोर करने के लिए कीचेन का उपयोग करता है, और आप बस अपने लॉगिन सत्र के शुरू में इसे लॉन्च कर सकते हैं (पहले लॉन्च पर में हमेशा की तरह सही-GHT क्लिक का उपयोग: का उपयोग कर macports के साथ ठीक स्थापित करता है गोदी के आइकन + 'स्टार्टअप पर लांच ")

ध्यान दें कि एप्पल के SVN कीचेन का उपयोग करता है पासवर्ड लेकिन जरूरी नहीं कि SVN द्विआधारी आप macports साथ निर्माण होगा स्टोर करने के लिए।

18

अधिक अन्वेषण के बाद, मुझे लगता है कि मुझे इस मुद्दे का पूरी तरह से जवाब मिल गया है। सबसे पहले, सुनिश्चित करें कि आप ssh-add -K ~/.ssh/your_key_here करते हैं। यह आपके कीचेन की कुंजी जोड़ता है। कुछ स्थानों पर, मैंने पढ़ा है कि यह पर्याप्त है, लेकिन मैं निश्चित नहीं था। यह मैक-विशिष्ट भी है, इसलिए यदि आपको इसे किसी अन्य यूनिक्स स्वाद पर करने की आवश्यकता है, तो आपके पास यह विकल्प आवश्यक नहीं होगा।

अच्छा उपाय के लिए, मैं सभी कुंजियों मेरे पास करने के लिए बात करने के लिए ~/.ssh/config फ़ाइल संपादित (आप इसे बनाने के लिए हो सकता है)। मेरा निम्नलिखित है:

IdentityFile ~/.ssh/identity 
IdentityFile ~/.ssh/id_rsa 
IdentityFile ~/.ssh/id_dsa 
IdentityFile ~/.ssh/my_other_identity_here 
IdentityFile ~/.ssh/yet_another_identity_here 

ssh_config के लिए man page के अनुसार, यह क्रम में इन की कोशिश करेंगे। मुझे यकीन नहीं है कि मेरे द्वारा सूचीबद्ध पहले तीन डिफ़ॉल्ट लोगों को वहां होना आवश्यक है, लेकिन मैंने उन्हें वैसे भी शामिल किया है।

+0

कोई '-K' ध्वज नहीं है 'ssh-add' –

+2

के लिए मैक ओएस एक्स पर ** ** ** एसएस-एड 'के लिए ओएस एक्स पर' -K' ध्वज है। इसके अतिरिक्त, यह चयनित उत्तर होना चाहिए। – kaiser

+1

सुनिश्चित करें कि आप '/ usr/bin/ssh-add' का उपयोग होमब्री प्रदान करते हैं '/ usr/local/bin/ssh-add' -K विकल्प प्रदान नहीं करता है। –

49

कीचेन

में पासफ़्रेज़ भंडारण कीचेन में अपने डिफ़ॉल्ट कुंजी किसी टर्मिनल खोलने और चलाने के लिए पदबंध की दुकान करने के लिए:

ssh-add -K 

और एक अलग कुंजी रन के लिए पदबंध स्टोर करने के लिए:

ssh-add -K /path/to/private/key/file 

जब आपके पासफ्रेज के लिए संकेत दिया जाता है तो यह दर्ज होता है और यही वह है।

आपको कभी भी एसएसएच-एड चलाने की आवश्यकता नहीं होगी और न ही अपना पासफ्रेज दर्ज करें।

उत्तर इस साइट से लिया: http://www-uxsup.csx.cam.ac.uk/~aia21/osx/leopard-ssh.html

3

MacOS 10.12.2 जब से तुम UseKeychain विकल्प का उपयोग कर सकते हैं। Read more here या man ssh_config पर देखें।

 UseKeychain 
     On macOS, specifies whether the system should search for passphrases in the user's keychain 
     when attempting to use a particular key. When the passphrase is provided by the user, this 
     option also specifies whether the passphrase should be stored into the keychain once it has 
     been verified to be correct. The argument must be ``yes'' or ``no''. The default is ``no''. 

तो बस निम्न कार्य करें:

echo "UseKeychain yes" >> ~/.ssh/config

+1

इसे ऊपर जाने की जरूरत है। **बहोत महत्वपूर्ण**! – quarezz

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^