कंसोल से सबवर्सन का उपयोग करते समय पासवर्ड कैसे बचाया जाए


106

मैं सोच रहा था कि क्या svnकंसोल से ऑपरेशन करते समय मेरे सबवर्सन पासवर्ड को बचाने का कोई तरीका है । कंसोल एकमात्र विकल्प है जो मेरे पास है। जब मैं किसी भी तोड़फोड़ की कार्रवाई करने की कोशिश करता हूं, उदाहरण के लिए svn commit, यह हर बार खाता पासवर्ड के लिए संकेत देता है। क्या इस पासवर्ड को किसी तरह से सहेजने का कोई तरीका है ताकि मुझे हर बार इसे वापस न लेना पड़े?


जवाबों:


110

में ~/.subversion/config, आप शायद है store-passwords = no। इसे बदलें yes(या इसे केवल टिप्पणी करें क्योंकि यह हाँ में चूक करता है), और अगली बार जब आप अपने पासवर्ड को तोड़फोड़ देते हैं तो इसे बचा लें।

आप यह सुनिश्चित करना चाहते हैं कि स्वामी और अनुमतियाँ ~/.subversion/configसही हैं (कोई सार्वजनिक या समूह एक्सेस नहीं; 600)।


मुझे यह फ़ाइल नहीं मिली Red Hat Linux 2.6.18। किसी भी विचार जहां यह हो सकता है?
ईश

3
@ अगर आपको यह पहले से मौजूद नहीं है, तो आपको इसे बनाने की आवश्यकता हो सकती है; मुझे लगता है कि एसवीएन सभी डिस्ट्रोस में दिखता है
माइकल मोर्ज़ेक

5
+1, फाइल /etc/subversion/configसिस्टम बनाने के बाद उम्मीद के मुताबिक काम करें। धन्यवाद
Ish

@ इश्कुमार धन्यवाद! पहली बार मेरे लिए काम किया!
अनिल

15
@ बेहतर अभी तक, बस एक नया उत्तर लिखें जो अधिक अद्यतित हो। ( store-passwordsविकल्प में configअब मेरी configफ़ाइल में मिली कुछ डिफ़ॉल्ट टिप्पणियों के अनुसार पदावनत किया गया है; इसे उसी विकल्प से बदल दिया गया है servers।)
काइल स्ट्रैंड

54

यह उस प्रोटोकॉल पर निर्भर करता है जिसका आप उपयोग कर रहे हैं। यदि आप SVN + SSH का उपयोग कर रहे हैं, तो SVN क्लाइंट आपके पासवर्ड को नहीं बचा सकता है क्योंकि यह इसे कभी नहीं छूता है - SSH क्लाइंट आपको इसके लिए सीधे संकेत देता है। इस स्थिति में, आप निरंतर संकेतों से बचने के लिए SSH कुंजी और ssh- एजेंट का उपयोग कर सकते हैं। यदि आप svnerve प्रोटोकॉल या HTTP (S) का उपयोग कर रहे हैं, तो SSH क्लाइंट आपका पासवर्ड संभाल रहा है और इसे बचा सकता है।


4
+1 मुझे यह सटीक समस्या है - svn + ssh हमेशा, हमेशा मुझसे पासवर्ड मांगता है। एक सार्वजनिक कुंजी साझा करने के बाहर, क्या इससे बचने का कोई तरीका है? मैंने ssh-agent की कोशिश की है, लेकिन कोई भाग्य नहीं है।
माइकल मिकोव्स्की

@MichaelMikowski SSH पासवर्ड को स्वचालित लॉगिन के लिए कॉन्फ़िगर करने के लिए सहेजा नहीं जा सकता है। आप इसके लिए एक नई कुंजी-जोड़ी बना सकते हैं, निजी कुंजी के स्थान को स्टोर कर सकते हैं .ssh/config, सार्वजनिक कुंजी को SVN सर्वर में जोड़ सकते हैं।
lk_vc

33

.subversionअपने होम डायरेक्टरी में अपने फोल्डर को क्लियर करने की कोशिश करें और फिर से कमिट करने की कोशिश करें। यह आपको अपने पासवर्ड के लिए संकेत देना चाहिए और फिर आपसे पूछेगा कि क्या आप पासवर्ड सहेजना चाहते हैं।


आप इसका मतलब .subversion फ़ोल्डर के बजाय!
खमरबाईस

3
मुझे भी यही समस्या थी। मेरे पास कोई स्टोर-पासवर्ड सेटिंग नहीं है जो मेरे कॉन्फिगर या सर्वर फाइल में "नहीं" के लिए सेट है, लेकिन यह काम करता है।
बॉब बी

1
मैं बिना किसी लाभ के सभी प्रकार की सेटिंग्स बदलने की कोशिश कर रहा था। केवल एक चीज जो अंततः इस मुद्दे को हल करती है वह वास्तव में .subversion फ़ोल्डर को हटाने के लिए थी।
माइकल नॉयब

यह मेरे लिए भी काम किया। दिलचस्प है, यह मेरे लिए ~ / .subversion / schem / svn.simple फ़ोल्डर के अंदर पासवर्ड संग्रहीत करता है।
चेतन

यह मेरे लिए भी किया था, लेकिन मैंने यह देखने के लिए कि क्या अंतर था - और यह .subversion निर्देशिका और इसकी फ़ाइलों का स्वामित्व निकला। किसी अन्य मशीन से डेटा स्थानांतरित करने के बाद, यह निर्देशिका किसी तरह जड़ से समाप्त हो गई, जब इसे मेरे स्वामित्व में होना चाहिए। निर्देशिका को हटाने और svn को फिर से बनाने की वजह से इस समस्या को ठीक कर दिया (लेकिन चांस शायद इसे भी ठीक कर दिया होगा)।
जो स्ट्रैट

19

मुझे एडिट करना था ~/.subversion/servers। मैंने सेट किया store-plaintext-passwords = yes(पहले नहीं था)। यही चाल चली। हालांकि इसे असुरक्षित माना जा सकता है।


3
उसी फ़ाइल में, मुझे सेट करना था store-passwords = yes। मेरा मानना ​​है कि यह पहले सेट किया गया था, लेकिन जब मैंने SVN 1.7
pieman72

9

कृपया ~/.subversion/serversफ़ाइल से निम्नलिखित पैराग्राफ पर ध्यान दें :

दोनों 'स्टोर-पासवर्ड' और 'स्टोर-ऑर्ट-क्रेडेंश' को अब आपकी कॉन्फिग डायरेक्टरी में 'सर्वर' फाइल में निर्दिष्ट किया जा सकता है। इस खंड में निर्दिष्ट कुछ भी 'सर्वर' फ़ाइल में निर्दिष्ट सेटिंग्स द्वारा ओवरराइड किया गया है।

यह एसवीएन संस्करण 1.6.12 के लिए कम से कम है। इसलिए सर्वर फाइल को संपादित करने के लिए ध्यान रखें क्योंकि यह ओवरराइड करता है ~/.subversion/config


इससे यह देखने में मदद मिली कि एक ही फ़ाइल (दो "पासवर्ड-स्टोर" घोषणा!) में एक ओवरराइडिंग थी। सही किया है कि और svn.simple फ़ाइल गुण-कीरिंग संपत्ति के साथ बनाया गया था।
डेनियलसन एल्विस जूनियर

5

यदि आप svn + ssh का उपयोग करते हैं , तो आप अपनी सार्वजनिक ssh कुंजी को दूरस्थ मशीन पर कॉपी कर सकते हैं:

ssh-copy-id user@remotehost

5

मेरे लिए (मैक उपयोगकर्ता) समस्या यह थी कि किचेन में पहले से ही मेरी साख के लिए एक प्रविष्टि संग्रहीत थी, लेकिन पहुँच अधिकार सही नहीं थे।

कुंजी श्रृंखला ऐप में प्रविष्टि को हटाना और फिर svn का उपयोग करके इसे फिर से बनाना मुद्दा तय किया।


4

इन अद्भुत जवाबों में से किसी ने भी मेरे लिए उबंटू की एक नई स्थापना पर काम नहीं किया। इसके बजाय, इस जवाब से एक सुराग ने मेरे लिए चाल चली।

मुझे इसे खाली करके "सरल" पासवर्ड स्टोर की अनुमति देनी थी ~/.subversion/config:

password-stores =

कोई मौजूदा सेटिंग नहीं थी, इसलिए खाली होना महत्वपूर्ण है।

यह इसके अतिरिक्त था:

store-passwords = yes

में है ~/.subversion/servers


इससे मुझे भी मदद मिली, जैसा कि लगता है कि डिफ़ॉल्ट विकल्प को काम करना चाहिए, लेकिन जब तक स्पष्ट रूप से निर्दिष्ट नहीं किया जाता है, यह नहीं है :(
अरुणास बार्टिसियस

3

अगर किसी और चीज के रूप में पासवर्ड का उपयोग किया जाता है, तो प्लेनटेक्स्ट का उपयोग करना सबसे अच्छा विकल्प नहीं हो सकता है।

मैं स्वीकृत उत्तर का समर्थन करता हूं, लेकिन यह मेरे लिए काम नहीं आया - एक बहुत ही विशिष्ट कारण के लिए: मैं kwalletया तो gnome-keyringपासवर्ड स्टोर का उपयोग करना चाहता था । मैंने सभी चार फाइलों में सेटिंग्स बदलने की कोशिश की:

/etc/subversion/config
/etc/subversion/servers
~/.subversion/config
~/.subversion/servers

इसके बाद भी यह सब एक ही साथ सेट किया गया था, password-storesऔर केवलेट नाम (डिफ़ॉल्ट गलत हो सकता है, ठीक है?) यह काम नहीं किया और हमेशा के लिए पासवर्ड मांगता रहा। ~/.subversionअनुमतियाँ 600 में फ़ाइलें ।

ठीक है, उस बिंदु पर, आप एक साधारण चीज़ की जाँच करने की कोशिश कर सकते हैं:

which svn

अगर तुम्हे मिले:

/usr/bin/local/svn

तब आपको इस बात की आशंका हो सकती है कि यह क्लाइंट आपके व्यवस्थापक द्वारा स्थानीय स्तर पर, स्रोत से बनाया गया है (जो कि मेरे मामले में भी हो सकता है)।

तोड़फोड़ संकलन करने के लिए एक बुरा जानवर है , HTTP समर्थन के बिना गलती से निर्माण करने के लिए बहुत आसान है, या - जैसा कि मेरे उदाहरण में - एन्क्रिप्टेड पासवर्ड स्टोर के लिए समर्थन के बिना (आपको या तो Gnome या KDE विकास फ़ाइलों की आवश्यकता है, और उनमें से बहुत कुछ!)। लेकिन ./configureस्क्रिप्ट आपको यह नहीं बताएगी, और आपको बस एक कम कार्यात्मक svnकमांड मिलेगी ।

उस स्थिति में, आप ग्राहक के पास वापस जा सकते हैं, जो आपके वितरण के साथ आया था, आमतौर पर /usr/bin/svn। नकारात्मक पक्ष यह है - आपको संभवतः कार्य प्रतियों को फिर से जांचना होगा, क्योंकि कोई svn downgradeआदेश नहीं है । आप लिनुस टॉर्वाल्ड्स से सलाह ले सकते हैं कि क्या तोड़फोड़ के बारे में सोचना है, वैसे भी;)


2

हीथ के उत्तर में जोड़ने के लिए: यह डिफ़ॉल्ट रूप से सबवर्सन 1.6 अक्षम भंडारण पासवर्ड की तरह दिखता है अगर यह उन्हें एन्क्रिप्टेड रूप में संग्रहीत नहीं कर सकता है। आप अनचाहे पासवर्डों को स्पष्ट रूप से सेटिंग करके password-stores =(यानी खाली मूल्य पर) स्टोर करने की अनुमति दे सकते हैं ~/.subversion/config

यह जाँचने के लिए कि कौन सा पासवर्ड स्टोर तोड़फोड़ करता है, में देखें ~/.subversion/auth/svn.simple। इसमें कई फाइलें शामिल हैं, प्रत्येक में एक साधारण कुंजी / मूल्य एन्कोडिंग के साथ एक हैश तालिका है। svn:realmstringप्रत्येक फ़ाइल की पहचान करता है जो दायरे उस फ़ाइल के लिए है में। अगर फाइल है

K 8
passtype
V 6
simple

फिर यह सादा पाठ में पासवर्ड को उस फ़ाइल में कहीं, एक K 8 passwordप्रविष्टि में संग्रहीत करता है । इसके अलावा, यह कॉन्फ़िगर किए गए किसी एक का उपयोग करने का प्रयास करता है password-stores


1

यहां बताए गए सभी तरीके मेरे लिए काम नहीं कर रहे हैं। मैंने स्रोत से तोड़फोड़ का निर्माण किया, और मुझे पता चला, मुझे --enable-plaintext-password-storageइस सुविधा का समर्थन करने के लिए कॉन्फ़िगर करना होगा ।


1

बस इस बात पर जोर देने के लिए कि टॉम्ज़ गैंडर और डोमेन ने svn के सही संस्करण के बारे में क्या कहा और इसे सादे पाठ पासवर्ड भंडारण को सक्षम करने के लिए संकलित किया गया था, आपको सत्यापित करना होगा कि आपके पास क्या है:

svn --version
svn, version 1.9.7 (r1800392)
...
WARNING: Plaintext password storage is enabled!
...

The following authentication credential caches are available:

* Plaintext cache in /gr/home/ffvdqb/.subversion
* GPG-Agent

बनाम:

svn --version
svn, version 1.12.2 (r1863366)
...

The following authentication credential caches are available:

* Gnome Keyring
* GPG-Agent
* KWallet (KDE)

एक बार जब आप देखते हैं कि सादे पाठ पासवर्ड भंडारण के लिए svn का आपका संस्करण सक्षम हो गया है, तो बाकी सभी उत्तरों को यहाँ लागू करें।


1

मैं Windows पर TortoiseSVN क्लाइंट का उपयोग कर रहा हूं , और मेरे लिए हां में स्टोर-पासवर्ड पैरामीटर सेट कर रहा हूं%USERPROFILE%\AppData\Roaming\Subversion\config पासवर्ड स्टोर करने में मदद नहीं करता है।

इस फ़ोल्डर को निकालने के बाद पासवर्ड को सफलतापूर्वक सहेज लिया गया (बस नाम बदलने की स्थिति में):

%USERPROFILE%\AppData\Roaming\Subversion\auth

वातावरण:

Windows 7, TortoiseSVN 1.7.11 (Build 23600 - 64 bit, 2012-12-12T19:08:52), Subversion 1.7.8.

0

दुर्भाग्य से उत्तरों ने संरक्षित निजी कुंजी के साथ ssh + svn के लिए पासवर्ड मांगने की समस्या को हल नहीं किया। कुछ शोध के बाद मैंने पाया:

ssh-add

उपयोगिता यदि आपके पास लिनक्स कंप्यूटर है। सुनिश्चित करें कि आपके पास अपनी कुंजियाँ संग्रहीत हैं /home/username/.ssh/और इस आदेश को टर्मिनल पर टाइप करें।

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