2011-02-03 11 views
6

मैंने here से निर्देशों के बाद एक गिटोसिस सर्वर स्थापित किया है। यह प्रारंभिक उपयोगकर्ता के लिए ठीक काम करता है लेकिन मैंने हाल ही में एक नया उपयोगकर्ता जोड़ा है। यहां दिए गए कदम हैं।गिटोसिस पासवर्ड के लिए पूछ रहा है

  • फ़ाइल नाम johndoe साथ ssh-keygen का उपयोग कर एक आरएसए कुंजी युग्म बनाया गया।
  • फिर इसे गिटोसिस एडमिन रिपो में कीडिर में कॉपी किया गया।
  • सदस्यों की सूची को gitosis कॉन्फ़िग फ़ाइल और कहा कि उपयोगकर्ता johndoe परिवर्तन प्रतिबद्ध का उपयोग कर git commit -a -m "what i did"
  • पुश किया सर्वर में परिवर्तन

है कि मैं नए के साथ बाहर की जाँच करने की कोशिश की करने के बाद संपादित keyfile। यह पासफ्रेज के लिए पूछता है और जब मैं इसे सही तरीके से दर्ज करता हूं, तो यह उपयोगकर्ता गिट के लिए पासवर्ड मांगता है !!! उपयोगकर्ता गिट के लिए पासवर्ड नहीं है।

अब मैंने sshd_config में पासवर्ड प्रमाणीकरण बंद कर दिया है और अब यह कहता है कि 'अनुमति अस्वीकार (publickey)। मैंने गिट उपयोगकर्ता की अधिकृत_की फ़ाइल की जांच की है और इसके अंदर केवल एक कुंजी अधिकृत है, यानी गिटोसिस व्यवस्थापक के लिए प्रारंभिक कुंजी।

मैं भी डबल ./gitosis-admin.git/hooks/post-update हुक पर अनुमतियों की जाँच की है और यह 755

+0

मुझे यह भी याद नहीं है कि मैंने इसे हल करने के लिए क्या किया है या यदि मैंने इसे हल भी किया है। मैं वर्तमान में गिटोलाइट का उपयोग करता हूं और महसूस करता हूं कि यह बहुत बेहतर है। इस तरह के एक प्रश्न के लिए क्या किया जाना चाहिए? – andho

उत्तर

6

Gitosis तरह का बेवकूफ है - फ़ाइल नाम आप सचमुच keyfile के लिए इस्तेमाल किया है "जॉन डो"? यदि ऐसा है, तो इसे बदलें:

git mv keydir/johndoe keydir/johndoe.pub 
git commit -m "changed key name" 
git push 

और पुनः प्रयास करें।

इसके अलावा, जैसा कि आर्लेन क्यूस बताते हैं, यह सुनिश्चित करें कि वास्तव में सार्वजनिक कुंजी है, न कि निजी कुंजी।

+0

ओपी, यदि मुद्दा सार्वजनिक बनाम निजी कुंजी है, तो कृपया आर्लेन कस के जवाब को स्वीकार करें। मैं इसे यहां उन लोगों के लिए छोड़ रहा हूं जिन्होंने सार्वजनिक कुंजी के ".pub" को छोड़ दिया है। – ebneter

+0

ईमानदार होने के लिए मुझे नहीं पता कि क्या एक निजी कुंजी डालने पर गिटोसिस * करता है, लेकिन मुझे लगता है कि यह काम नहीं करेगा, और यह समस्या हो सकती है .. कौन जानता है: -} – Ashe

+0

@Allen Cuss , यह अधिकृत कुंजी फ़ाइल में निजी कुंजी स्थापित करेगा, और फिर ssh काम नहीं करेगा। (मैंने लोगों को यह किया है। :-)) – ebneter

1

सुनिश्चित करें कि आप अपने सार्वजनिक कुंजी को अपने गिटोसिस रेपो के अंदर डाल रहे हैं, न कि आपके निजी!

जब आप एक कीफाइल उत्पन्न करते हैं, तो आपको .pub फ़ाइल-उपयोग प्राप्त होगा, लेकिन .pub के बिना अपना gitosis.conf में नाम डालें।

+0

ओह, अच्छा बिंदु। :-) – ebneter

1

सुनिश्चित करें कि आपने .pub-files को भी जोड़ा है (git add), और प्रतिबद्ध और उन्हें भंडार में ठीक से धक्का दिया है।

5

हाय, मुझे एक ही समस्या थी, और अंत में मुझे एक रास्ता मिल गया।

मैं कई वेबसाइटों द्वारा दिए गए निर्देशों का पालन किया था, लेकिन हर बार के बाद

git clone [email protected][serveur_name]:gitosis-admin.git 

यह GIT के लिए पासवर्ड पूछ रहा था।

समाधान: मैं व्यवस्थापक सार्वजनिक कुंजी (अपने ग्राहक उपयोगकर्ता पर बनाया एक, तो सर्वर के tmp निर्देशिका में आयात) डाला है मेरी authorized_keys फाइल के अंदर (सर्वर /home/git/.ssh/ निर्देशिका में स्थित) और अब यह काम करता है।

cp authorized_keys authorized_keys.bak 
cat /tmp/id_dsa_git.pub >> authorized_keys 

मैं @http://fclose.com/b/linux/366/set-up-git-server-through-ssh-connection/

0

मैं हाल ही में काम के लिए एक निजी भंडार के साथ इस मुद्दे में भाग इस पाया। मैं इस जवाब में आया और जवाब पढ़ा; this और this चाल चल रही थी।

भावी पीढ़ी के लिए यह निष्कर्ष निकालने के लिए, सुनिश्चित करें कि आप gitosis-admin/keydir निर्देशिका के लिए .pub कुंजी जोड़ते हैं। यह होना चाहिए .pub फ़ाइल।

कमिट & गिटोसिस-व्यवस्थापक पर अपने परिवर्तनों को पुश करें।

आपका ~/.ssh/authorized_keys स्वचालित रूप से अपडेट हो जाएगा, इसलिए आपकी सार्वजनिक कुंजी फ़ाइल के आउटपुट को कैट-रीडायरेक्ट करने की आवश्यकता नहीं है।

आशा इस

0

एक बात अक्सर खिड़कियां उपयोगकर्ताओं के लिए गलत हो जाता है कि और वहाँ बाहर ट्यूटोरियल के सबसे द्वारा catched नहीं है (क्योंकि वे मानते हैं कि आप एक linux ग्राहक पर हैं)

msysgit मदद करता है, खिड़कियों Git कंसोल, /home/YOURUSERNAME/.ssh/id_rsa जो खिड़कियों पर है (विंडोज 7) पर अपने निजी कुंजी के लिए लग रही है C: \ Users \ YOURUSERNAME.ssh \

id_rsa जबकि अधिकांश इसे पाने के फ़ोल्डर के साथ, क्योंकि यह स्वचालित रूप से बनाया गया है, वे फ़ाइल को याद करते हैं को "id_rsa" नाम दिया जाना चाहिए या इसका उपयोग msysgit द्वारा नहीं किया जाएगा। मुझे अन्य कुंजी का उपयोग करने के लिए msysgit को बताने का कोई तरीका नहीं मिला

0

सबसे अधिक संभावना यह है कि पोस्ट-अपडेट हुक ठीक से नहीं चला था।

जांचें कि ~ git/.ssh/valid_keys में आपकी सार्वजनिक कुंजी है।

यदि नहीं, तो पोस्ट-अपडेट हुक नहीं चला। अनुमतियां जो बाद में बदल दी गई हैं? कुछ अन्य विन्यास त्रुटि। कहीं और से कॉपी किया?

  1. सर्वर, चेकआउट gitosis व्यवस्थापक पर: Git क्लोन /path/to/gitosis-admin.git। Gitosis.conf में एक महत्वपूर्ण परिवर्तन करें। जांचें कि आपकी सार्वजनिक कुंजी keydir में है। मुझे इसे गिट उपयोगकर्ता के रूप में चलाने के लिए था।

  2. Commit gitosis.conf। git add gitosis.conf & & गिट प्रतिबद्ध -एम "रीफ्रेश कुंजी" जोड़ें।

  3. अब अधिकृत_की फ़ाइल की जांच करें।

  4. gitosis.conf को वापस बदलें और फिर से प्रतिबद्ध करें।

परीक्षण का उपयोग। अगर इस प्रक्रिया के बाद अधिकृत_की अद्यतन नहीं है, तो त्रुटि संदेशों के लिए लॉग देखें।

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