2012-08-01 15 views
16

पर धक्का देने के लिए गिट @ लोकलहोस्ट पासवर्ड की आवश्यकता है, मैं गिटलैब को प्राप्त करने और अपने सर्वर पर चलने की कोशिश कर रहा हूं। मैंने gitlab github पेज पर स्थापना निर्देशों का पालन किया और सब ठीक हो गया।गिटलैब को रेपो

मुद्दा है, जब मैं एक रेपो बना सकते हैं और

sudo git push -u origin master 

मैं 'Git @ स्थानीय होस्ट का पासवर्ड:' के लिए कहा जाए हूँ करने की कोशिश

Git उपयोगकर्ता को पासवर्ड नहीं है, तो यह एक समस्या है।

अन्य लोगों जिन्होंने इस समस्या में भाग लिया है, ने मेरे एसएसडीडी conf में AllowedUsers को गिट जोड़ने का सुझाव दिया है, लेकिन मेरे पास एक आवंटित उपयोगकर्ता नहीं है, इसलिए ऐसा कोई प्रतीत नहीं होता है।

मैं अभी भी एसएसएच सामान के लिए बहुत नया हूं इसलिए मुझे लगता है कि यह किसी प्रकार का एसएसएच कुंजी मुद्दा है, हालांकि मैंने सभी प्रासंगिक एसएसएच कुंजी /home/git/.ssh/authorized_keys में जोड़ने की कोशिश की और सत्यापित किया कि कोई लाइन नहीं है फ़ाइल में टूटता है।

sudo -u gitlab bundle exec rake gitlab:app:status RAILS_ENV=production 

कोई सुझाव बहुत सराहना:

बस FYI करें, पूरी तरह से स्थापित अपने परीक्षण gitlab विकि में प्रदान की जाती गुजरता है!

संपादित

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

यह अभी भी एक ही मशीन पर होस्ट करने और विकसित करने की कोशिश करने वाले किसी भी व्यक्ति के लिए एक ओपन-एंडेड मुद्दा है, जिसने इसमें भाग लिया है।

+0

नए सवाल बहुत महत्वपूर्ण है http: // stackoverflow। कॉम/प्रश्न/15495843/gitlab-git-user-password –

+0

आपको 'गिट पुश' – StenSoft

उत्तर

3

यदि स्थापना अच्छी तरह से चलती है, तो इसका मतलब है कि आपका गिटलैब बिना किसी समस्या के गिटोलाइट-एडमिन रेपो को क्लोन करने में सक्षम है।
लेकिन आप कहते हैं कि यह स्थिति जांच पास करता है, जिसका अर्थ है कि आप एसएसएच कनेक्शन के लिए उपयोग कर रहे हैं, जिसका नाम 'गिटलैब' है।

इसका भी अर्थ है कि किसी भी ग्राहक को उसी खाते 'gitlab' के साथ ssh करना होगा, न कि git '।
इसलिए यदि आपके ssh कुंजी gitlab इंटरफेस के माध्यम से जोड़ दिया गया है, तो आप एक दूरदराज के नाम मूल करने के लिए क्लोन/Git धक्का जो पता '[email protected]'

कुछ और डिबग करने के लिए होता है, git कुछ अन्य सुझावों की जांच कर सकते में "Setup Git Remote SSH (git-upload-pack/git-receive-pack)" का उल्लेख किया:

आप स्थानीय रूप से धक्का नहीं कर सकते हैं (सर्वर पर ही, कि 'स्थानीय होस्ट' पर है), कम से कम एक का प्रयास करें: के बाद से

ssh -vvvT [email protected] 

यह किसी भी पासवर्ड की आवश्यकता नहीं होनी चाहिए, /home/gitlab/.ssh/id_rsa और /home/gitlab/.ssh/id_rsa.pub दोनों मौजूद हैं।

+0

हाय वॉनसी के साथ 'सुडो' का उपयोग नहीं करना चाहिए, आपकी सहायता के लिए धन्यवाद। बस सत्यापित करने के लिए, मैं gitlab (उपयोगकर्ता नाम devin) के अलावा किसी अन्य खाते के तहत सर्वर मशीन में SSHed हूँ। ssh -vvvt gitlab @ localhost दुर्भाग्यवश, पासवर्ड की आवश्यकता है। मैंने इंटरफ़ेस के माध्यम से एक कुंजी जोड़ने का प्रयास नहीं किया है, क्योंकि मैंने gitlab पर ऐसा करने का विकल्प नहीं देखा है। अगर आपके पास कोई और सुझाव है तो मुझे बताएं। धन्यवाद! – DevinR

+0

@DevinR यदि आप पहले सार्वजनिक कुंजी को जोड़े बिना एसएसएच का प्रयास करते हैं, तो यह सामान्य है कि एसएसएच पासवर्ड मांगता है: यह आपकी पब कुंजी को ~ gitlab/.ssh/अधिकृत_keys में ढूंढता है और उसे नहीं मिला। आपको सार्वजनिक/निजी कुंजी (जैसे http://stackoverflow.com/a/10921120/6309) उत्पन्न करने की आवश्यकता है और अपने gitlab खाता पृष्ठ में सार्वजनिक कुंजी कॉपी करें। – VonC

+0

मैंने अब एक उपयोगकर्ता को गिटलैब पर जेनरेट किया है और वहां मेरी एसएस कुंजी जोड़ा है। मैंने /home/gitlab/.ssh/authorized_keys और /home/git/.ssh/authorized_keys की कुंजी भी जोड़ दी। दुर्भाग्य से मुझे अभी भी एक ही समस्या है। आपकी सहायता के लिए एक बार फिर से धन्यवाद। – DevinR

0

मैं ऐसी समस्या में भाग गया जिसने इसी तरह के लक्षण प्रदर्शित किए। मेरा मुद्दा यह था कि मेरे पास राउटर के पीछे दो कंप्यूटर हैं। राउटर कंप्यूटर पर एसएसएच यातायात (पोर्ट 22) को आगे बढ़ाने के लिए सेट है। गिटलैब कंप्यूटर 2 पर स्थापित है। मैं एक डोमेन और सार्वजनिक आईपी कनेक्ट करने के लिए उपयोग कर रहा हूं। जब मैं धक्का देता हूं, तो एसएसएच यातायात को कंप्यूटर 1 पर निर्देशित किया जाता है।कंप्यूटर गिट स्थापित करने से कंप्यूटर 1 पर एक गिट उपयोगकर्ता है। कंप्यूटर 1 मुझे गिट उपयोगकर्ता के पासवर्ड के लिए संकेत देता है।

भी पूरी तरह से तैयार परीक्षण पास कर लिए स्थापित मेरी।

मुझे यकीन है कि आप एक ही समस्या आ रही है, तो नहीं कर रहा हूँ, लेकिन लक्षण ठीक उसी इसलिए मैं इस मदद कर सकता है लगा रहे हैं। कार्य परियोजनाओं Git के लिए मुझे मेरे ईमेल और पासवर्ड पूछना होगा -

0

यह काफी एक बहुत हाल ही में मेरे लिए हो रहा शुरू कर दिया। दर्ज होने पर यह ठीक रहता है लेकिन यह परेशान है।

मैं किसी भी अनुप्रयोग है कि मैं के साथ की पहुंच है के लिए इसे ठीक कर सकते हैं:

git config remote.origin.url [email protected]:user_org_or_co/repo_name_itself 

उदा

git config remote.origin.url [email protected]:smithw/bookmarkapp 
0

आपका गिट और गिटलैब उपयोगकर्ता पासवर्ड रहित हैं?

कैसे sshd_config है?

जांच करता है, तो इस लाइन फ़ाइल में है: PermitEMptyPassword Yes

वैसे भी मुझे लगता है कि यह असुरक्षित है, मेरे स्थापना में, मैं इस 'हां', क्लोन रखा और फिर पुराने config रखना ... जब ssh_key क्लोनिंग उपयोगकर्ता गिट द्वारा सहेजा गया है, और यह अब पासवर्ड नहीं पूछेगा ..

लेकिन अब तक, मैं एक और त्रुटि में चला जाता हूं, जब मैं हर नए उपयोगकर्ता के लिए धक्का देने जा रहा हूं, तो हमें खाली धक्का परमिट के लिए एसएसएच को दोबारा जोड़ना होगा और फिर कॉन्फ़िगरेशन को वापस रखें।

(मैं अभी भी है क्योंकि मुझे पता चला कि मेरी gitlab उपयोगकर्ता Git में रेपोस नहीं बना रहा है, इस विधि का परीक्षण नहीं किया: /)

4

टी एल; डॉ

कुंजी की दुकान पर दोनों gitlab डीबी और gitolite पक्ष। आपको कारखाने का निर्माण gitolite-admin.git फ़ोल्डर का उपयोग करना चाहिए, अपने बैकअप का उपयोग न करें! और बाद में अद्यतन कुंजी कमांड के साथ gitolite के लिए कुंजी पुनर्निर्माण।

sudo -u gitlab -H bundle exec rake gitlab:gitolite:update_keys RAILS_ENV=production 

सबसे अधिक संभावना है, क्योंकि gitolite कुंजियों के बारे में कुछ मुद्दे को ठीक से नहीं बचा यह है (पहले से ही gitlab db अंदर बचाया gitolite को उन कुंजियों को अद्यतन)। उन कुंजी (लॉगिन के लिए) वास्तव में gitlab & गिटोलाइट द्वारा अलग से रखी जाती हैं। पुल/पुश के लिए वास्तव में गिटोलाइट के अंदर सहेजी गई चाबियों का उपयोग कर रहा है। (Git/खजाने/gitolite-admin.git/सूचकांक, Git/.gitolite/keydir, Git/.ssh/authorized_keys)

gitlab सामान्य रूप से gitolite फ़ाइलों के लिए वेब पर उन आयातित कुंजी बचत पर मदद करनी चाहिए। हालांकि, कुछ कारणों से यह असफल रहा। चूंकि गीटोलाइट के अंदर कुंजियां ठीक तरह से सहेजी नहीं जाती हैं, इसलिए क्लाइंट/सर्वर कुंजी पर पासवर्ड और फ़ॉलबैक का उपयोग करने में विफल रहता है।

आप की जाँच करें और उन कुंजियों समस्याओं को सही करने gitolite अंदर बचाया ठीक करने के लिए किया है।के लिए

जांच अधिक https://groups.google.com/forum/?fromgroups=#!topic/gitlabhq/X0z_9l7L7A8

0

यह बहुत आसान हो सकता है लेकिन मैं एक ही समस्या थी। मुझे लगता है कि यह स्थानीय नाम को डोमेन नाम के रूप में उठाया गया है।

यह बाहर काम किया जब मैं अपनी स्थानीय होस्ट मशीन के लिए किसी अन्य कंप्यूटर से प्रवेश किया था, और उसके बाद के लिए प्रतिबद्ध करने की कोशिश की। यह बहुत मूर्ख है लेकिन कोशिश करने लायक है।

2

मैं एक ही पासवर्ड संकेत प्राप्त किया। मेरा मुद्दा यह था कि मैंने केवल कुछ उपयोगकर्ताओं को एसएसएच उपयोग प्रतिबंधित कर दिया था। मैंने गिट उपयोगकर्ता को AllowUsers सूची sshd_config में जोड़ा, और सबकुछ बढ़िया काम करता था।

1

सुनिश्चित करें कि आपके gitlab प्रोफ़ाइल आपकी सार्वजनिक ssh कुंजी है सुनिश्चित करें। गिटलैब में साइन इन करें, अपनी प्रोफ़ाइल पर जाएं और "सार्वजनिक कुंजी जोड़ें" बटन का चयन करें। कुंजी बॉक्स में आपको "keyfile" .pub सामग्री कॉपी और पेस्ट करें। कि एक बग कि जब आप अपने सार्वजनिक कुंजी जोड़ना था, यह authorized_keys फाइल को अद्यतन नहीं किया था gitlab के कुछ संस्करणों थे। सत्यापित करें (लेकिन मैन्युअल रूप से जोड़ें नहीं) कि आपकी प्रोफ़ाइल में इसे जोड़ने के बाद आपकी सार्वजनिक कुंजी अधिकृत_की फ़ाइल में है। यदि यह मुद्दा नहीं है, तो शायद पहले के उत्तरों में से एक मदद करेगा।

1
Git सर्वर संपादित /etc/ssh/sshd_config

प्रमाणीकरण खंड के अंतर्गत निम्नलिखित लाइनों टिप्पणी हटाएं

या उन्हें जोड़ने पर

:

PubkeyAuthentication yes

AuthorizedKeysFile %h/.ssh/authorized_keys

अपने सर्वर एक शक्ति चक्र देने के लिए और फिर आग gitlab

+1

"अपने सर्वर को एक पावर चक्र दें" अत्यधिक लगता है - बस sshd को रीबूट करें। –

0

मैं इस एक के साथ मिश्रित किया गया पहर। जब आप sudo git का उपयोग करते हैं, तो इसका मतलब है कि गिट रूट के रूप में लॉन्च किया जा रहा है। सवाल यह होगा - क्या आपने रूट के लिए एसएसएच कुंजी बनाई और इसे गिटलैब के अंदर रखा?

मैं अनुमान लगा रहा हूँ कि आप sudo बिना आपकी SSH कुंजी बनाया (जो अपने सामान्य खाते के लिए है), Gitlab में SSH publickey डाल दिया, और फिर sudo git चलाते हैं।

आप sudo बिना Git चलाने की कोशिश कर सकते हैं। और यदि आपके पास फ़ोल्डर अनुमति समस्याएं हैं, जिसने आपको पहले स्थान पर सुडो का उपयोग किया है, तो अपने उपयोगकर्ता खाते को उस फ़ोल्डर तक पहुंचने का प्रयास करें। या शायद सामान्य रूप से गिट को उस फ़ोल्डर में आज़माएं जिसमें आपके पास लिखने की अनुमति है।

0

उस here के लिए एक चुना गया है।

समस्या का कारण निर्धारित करने के लिए sudo grep sshd /var/log/auth.log के माध्यम से सर्वर पर लॉग की जांच करें।

13 दिसंबर तक 2013 के लिए प्रतिबद्ध b24d5d, समस्या .ssh/ के लिए अनुमतियों की अतिरिक्त के कारण Vagrant विकास मशीन पर कारण होता था।आप होना चाहिए:

chmod 700 ~/.ssh 
chmod 600 ~/.ssh/authorized_keys 

या ssh आरएसए संबंध बनाने के लिए मना कर दिया और sudo grep sshd /var/log/auth.log का कहना है:

Authentication refused: bad ownership or modes for file /home/git/.ssh/authorized_keys  

समस्या विकास के लिए गैर sctrict मोड के लिए sshd की स्थापना, यह करने की अनुमति देकर हल किया गया है सही ढंग से चलाएं, यहां तक ​​कि अनुमतियां बहुत मुफ़्त हैं।

0

मैं हाल ही में एक ही मुद्दे में भाग गया, और पाया कि मेरे लिए मुद्दा यह है कि SELinux gitlab के डेटा निर्देशिका /var/opt/gitlab/ में authorized_keys फाइल करने के लिए पहुँच प्राप्त करने से sshd रोकने कर रहा था।

इसे ठीक, /etc/selinux/targeted/contexts/files/file_contexts.homedirs को संपादित करने और लाइन जोड़ने के लिए:

/var/opt/gitlab/\.ssh/.* system_u:object_r:ssh_home_t:s0 

तब चलाएँ:

$ restorecon -Rv /var/opt/gitlab 

स्रोत: https://serverfault.com/questions/50573/selinux-preventing-passwordless-ssh-login

0

इसका मतलब है कि gitlab ssh सर्वर ठीक से विन्यस्त नहीं किया गया था ।

संपादित /etc/ssh/sshd_config और विश्वास दिलाता हूं कि:

PasswordAuthentication no 
ChallengeResponseAuthentication no 

यह ssh कुंजी केवल लॉगिन जो भी एक अच्छा सुरक्षा उपायों है को लागू करना चाहिए। कई नए डिस्ट्रोज़ पहले से ही डिफ़ॉल्ट रूप से सक्षम हैं।

मुझसे पूछें कि क्या आप बाहर लॉक हो जाते हैं, स्पष्ट रूप से एसओ यह नहीं है कि एक निजी/सार्वजनिक कुंजी जोड़ी को कॉन्फ़िगर कैसे करें और उपयोग करें।

0

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

git clone [email protected]_adress:/full/path/to/project.git 

संपादित: मैं उल्लेख करना भूल गया, यदि आप वेब पेज के माध्यम से Git-प्रयोगशाला में SSH कुंजियों को शामिल किया है की जाँच करने के ..

+0

यह आशाजनक लग रहा था लेकिन अभी भी सर्वर पते के साथ पासवर्ड मांग रहा है – pal4life