2011-02-25 12 views
8

मैं पासवर्ड टाइप की आवश्यकता के बिनाsvn + ssh?

svn update /Users/radek/Sites/3.0.5/ -r HEAD --force 

करना चाहते हैं।

svn हमारे भंडार सर्वर से जुड़ता है लेकिन मुझे यकीन नहीं है कि उपयोगकर्ता नाम (मैं कैसे पता लगा सकता हूं?) के तहत। मुझे लगता है कि यह root या radek

पासवर्ड जो मैं svn के लिए टाइप करने के लिए टाइप करता हूं वह रूट की एक रिपोजिटरी सर्वर पर समान है, इसलिए मैंने रूट की अधिकृत_की फ़ाइल में अपनी सार्वजनिक कुंजी जोड़ दी। तो मैं पासवर्ड टाइप किए बिना भंडार सर्वर के लिए ssh लेकिन यह पासवर्ड पूछने के लिए svn प्रभावित नहीं किया था। रिपोजिटरी सर्वर पर उपयोगकर्ता रैडेक का पासवर्ड svn up

पर टाइप करने के लिए अलग है, यदि मैं कुछ फॉर्म करता हूं तो लेखक राडेक है।

समाधान

svn info 

के रूप में जो उपयोगकर्ता मैं भंडार सर्वर में लॉग इन करना बताया और उसके बाद मैं अपने authorized_keys फाइल के लिए सार्वजनिक की गयी। अब svn का उपयोग करते समय मुझे पास दर्ज नहीं करना है।

+0

आप ssh एजेंट खत्म हो गई थी पहले? क्या आपने एजेंट को अपनी गुप्त कुंजी जोड़ दी? – wilhelmtell

+0

प्रोग्रामिंग के बारे में नहीं। Http://superuser.stackexchange.com पर माइग्रेट करने के लिए वोट किया गया –

+1

मैं एक प्रोग्रामर हूं और इससे मुझे अपने कार्यक्रमों के एसवीएन चेकइन को स्वचालित करने के लिए एक प्रोग्राम लिखने में मदद मिली। – Kyle

उत्तर

6

"एसएसएच-एजेंट" नामक एक प्रोग्राम है जो स्मृति में एक अनलॉक आरएसए या डीएसए कुंजी को सहेज लेगा और यूनिक्स सॉकेट के माध्यम से एसएसएच को यह कुंजी प्रदान करेगा। इसका उपयोग "पासवर्ड-कम" एसएसएच कनेक्शन के लिए किया जा सकता है, यह मानते हुए कि आप आरएसए या डीएसए सार्वजनिक/निजी कुंजी जोड़ी उत्पन्न करते हैं, और रिमोट होस्ट की "अधिकृत_की" या "अधिकृत_की 2" फ़ाइल में सार्वजनिक कुंजी जोड़ें। जब आप पहले एसएसएच एजेंट के लिए कुंजी जोड़ते हैं या एसएसएच एजेंट चालू करते हैं, तो आपको अपना पासवर्ड देना होगा, लेकिन एसएसएच के बाद के उपयोग पासवर्ड के बिना हो सकते हैं। आप नीचे दिए गए लेख SSH एजेंट की स्थापना के मामले में सहायक लग सकता है:

ध्यान दें कि (10.5 के रूप में और अधिक) मैक ओएस एक्स पर, यदि आप निजी/सार्वजनिक कुंजी जोड़ी उत्पन्न करते हैं और रिमोट होस्ट की अधिकृत_कीज फ़ाइल में सार्वजनिक कुंजी डालते हैं, जब आप उस होस्ट में एसएसएच करते हैं, तो मैक ओएस एक्स स्वचालित रूप से अपना स्वयं का एसएस-एजेंट शुरू करेगा (कोई सेटअप आवश्यक नहीं है) और ऑफ़र पासवर्ड याद रखें (यह डब्ल्यू KeyChain में इसे बीमार बचाओ)। आप Mac OS X Leopard -- Built-In SSH Agent पर इसके बारे में और अधिक पढ़ सकते हैं।

+0

मैं ओएस एक्स 10.6.2 पर हूं और मैंने रिपॉजिटरी सर्वर पर रूट की "अधिकृत_की" पर सार्वजनिक कुंजी जोड़ा लेकिन इससे मदद नहीं मिली। या क्या मैं कुछ न कुछ भूल रहा हूं? – Radek

+0

जब तक आप रूट के रूप में प्रमाणीकरण नहीं कर रहे हैं, आपको इसे वहां नहीं डालना चाहिए; आपको इसे दूरस्थ होस्ट पर "~/.ssh/अधिकृत_keys2" के नीचे रखना चाहिए। आपको यह भी सुनिश्चित करना होगा कि मेजबान इन चाबियों के उपयोग की अनुमति देने के लिए कॉन्फ़िगर किया गया है (कुछ सिस्टम इसे अस्वीकार करने के लिए कॉन्फ़िगर किए गए हैं)। –

+0

~ घर निर्देशिका है, है ना? मुझे जिस पासवर्ड को टाइप करना है वह उपयोगकर्ता 'राडेक' के लिए नहीं है लेकिन 'रूट' मैं रूट के रूप में कोई पासवर्ड टाइप किए बिना रिपॉजिटरी सर्वर में लॉग इन कर सकता हूं लेकिन इससे मदद नहीं मिली। अभी भी svn – Radek

3

आप एक कुंजी फ़ाइल का उपयोग नहीं कर सकते हैं, का उपयोग sshpass (लिनक्स में):

स्थापित sshpass

$ sudo apt-get install sshpass 

सेट अस्थायी वातावरण चर

$ export SSHPASS=yourpass 

संपादित SVN config फ़ाइल

$ nano ~/.subversion/config 

अंत में बाहर ssh लाइन के लिए sshpass -e जोड़ने टिप्पणी, ssh आदेश

ssh = $SVN_SSH sshpass -e ssh -q -o ControlMaster=no 
+0

धन्यवाद :) मैं इस लंबे समय की तलाश में था –