2008-10-10 15 views
24

मुझे कुछ कोड जांचना है और इसे चलाने के लिए है। मेरे पास यूआरएल है:मैं सार्वजनिक/निजी कुंजी जोड़ी का उपयोग करके एसवीएन चेकआउट कैसे प्राप्त करूं?

svn+ssh://[email protected]/home/svn/project/trunk 

मेरे पास अपनी निजी कुंजी के साथ एक फ़ाइल है। इस कोड को पाने के लिए मैं क्या करूँ?

+0

आप किस ऑपरेटिंग सिस्टम पर हैं? – Neall

+0

मैक ओएस एक्स तेंदुए स्थानीय रूप से, लेकिन यह वास्तव में एक आरएच ES4 बॉक्स पर जाना है। –

+1

मुझे भी मिल रहा है "-बैश: svn + ssh: // ... blah blah ऐसी कोई फ़ाइल या निर्देशिका नहीं है", हालांकि मेरे पास svn और ssh इंस्टॉल है और उन्हें हर समय उपयोग करें। क्या मैं इसे उपclipse प्लगइन के साथ ग्रहण से कर सकता हूं (जिसे मैं भी बहुत उपयोग करता हूं)? –

उत्तर

3

निजी कुंजी क्लाइंट मशीन पर जाती है, जिसे अक्सर एसएसएच संस्करण और कुंजी के प्रकार के आधार पर ~/.ssh/id_rsa, ~/.ssh/id_dsa, या ~/.ssh/identity नाम दिया जाता है। हालांकि, आप केवल ssh -i path/to/private.key का उपयोग कर सकते हैं।

यह माना जाता है कि ~/.ssh/authorized_keys में सर्वर पर संबंधित सार्वजनिक कुंजी मौजूद है, और यह कि आपकी स्थानीय मशीन OpenSSH क्लाइंट चला रही है। यदि आप विंडोज पर पुटी का उपयोग कर रहे हैं, तो बस पेजेंट प्रोग्राम खोलें, और जीयूआई के माध्यम से कुंजी आयात करें।

+8

यह मुझे स्पष्ट नहीं है कि svn के साथ इसका उपयोग कैसे करें? – WonderLand

+9

मेरे लिए समान .. उत्तर सही नहीं है। –

+2

यह प्रश्न svn के लिए पूछ रहा है, नहीं ssh – Transcendence

1

अपने ~/.ssh/ फ़ोल्डर में निजी कुंजी जोड़ें और फिर ssh-agent $SHELL; ssh-add; चलाएं, और उसके बाद उस URL के svn co को काम करना चाहिए।

+0

आपकी निजी कुंजी _do not_ ~/.ssh/config में जाती है। – ephemient

+0

ओह, आप पूरी तरह से सही हैं, जो 'अधिकृत_की' होना चाहिए था। –

47

तुम सिर्फ SVN के लिए एक कस्टम कुंजी का उपयोग करने की जरूरत है, निम्नलिखित काम करेगा:

SVN_SSH="ssh -i /path/to/key_name"

export SVN_SSH

svn commands

http://labs.kortina.net/2010/01/30/svn-checkout-with-private-key-over-ssh/

+0

ध्यान दें कि मैं हमेशा कुंजी के पथ के लिए एक पूर्ण पथ का उपयोग करता हूं। –

+0

पथ अब पूर्ण है! – David

+0

यदि इसका उपयोग केवल एक रिपोजिटरी सर्वर का उपयोग करता है, तो एकाधिक रिपॉजिटरी सर्वरों के लिए ~/.ssh/config फ़ाइल का उपयोग – AnViKo

13

को यह प्रविष्टि जोड़ें अपने ~/.ssh/config फ़ाइल:

Host YOUR_SERVER 
IdentityFile YOUR_PRIVATE_KEY_PATH # (ex: ~/.ssh/rsa) 
User USER_NAME 

अधिक विकल्पों के लिए, see the ssh_config man page

सर्वर पर:

ssh-keygen -b 1024 -t dsa -f mykey (creates mykey and mkey.pub files) 

कॉपी सामग्री की mykey.pub

0

ये कदम उठाएँ कि मैं SVN + ssh के माध्यम से अपने सर्वर के लिए मैक ओएस एक्स कमांड लाइन से कनेक्ट करने के लिए उपयोग किया जाता है ~/.ssh/authorized_keys करने के लिए (बनाने authorized_keys अगर यह मौजूद नहीं है फ़ाइल) अपनी स्थानीय मशीन पर

डाउनलोड mkey और चलाएँ:

+०१२३५१६४१०६ ssh के साथ अपने SVN सर्वर से
chmod 600 mkey (the next step won't run otherwise) 
svn-add mkey (enter your passphrase) 

चेकआउट:

svn co svn+ssh://[email protected]/repos/path 

अपने सर्वर से mkey और mkey.pub हटाएँ

8

सिर्फ आदेश ssh-जोड़ने का उपयोग करें (यह, अपने पासवर्ड के लिए अपने पूछना होगा इस वह पासवर्ड है जिसका उपयोग आपने इस सार्वजनिक निजी कुंजी जोड़ी को बनाया था)।

ssh-add PATH_TO_YOUR_PRIVATE_JEY 
e.g. ssh-add ~/.ssh/myPrivateKey.key 

सत्यापित करें कि आप इस

ssh-add -l 

बस इतना ही पहचान यह उपयोग कर रहा है फ़ाइलें सूची जाएगा करके सही ढंग से कुंजी गयी।

2

उपरोक्त के साथ ग्रहण 3.7 से दो स्क्रीन शॉट्स के जवाब के अलावा।


General settings
उपयोगकर्ता नाम दर्ज करें! (स्क्रीन शॉट लेने से पहले मैं इसे भूल गया हूं)। नहीं एक पासवर्ड दर्ज करें।


SSH Settings कुंजी पासफ़्रेज़ दर्ज करें यदि आप निजी कुंजी पदबंध सुरक्षित है।


एक तस्वीर हजारों शब्दों के लायक है।

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