HTTPS के माध्यम से लिनक्स पर एक github रेपो क्लोन नहीं कर सकते


87

मैं git clone https://github.com/org/project.gitएक CentOS बॉक्स पर एक सरल करने की कोशिश कर रहा हूँ, लेकिन मिलता है:

त्रुटि: अनुरोधित URL में त्रुटि हुई: 401 https://github.com/org/project.git/info/refs पर पहुंचते समय

घातक: HTTP अनुरोध विफल

यह मुझे मेरे उपयोगकर्ता नाम / पासवर्ड के लिए कभी संकेत नहीं देता, बस विफल रहता है।

मैं अपने मैक पर सटीक एक ही कॉल कर सकते हैं कोई समस्या नहीं है - मुझे क्या याद आ रही है?


क्लाउड पर एक नया विस्तृत खुला CentOS 6.3 बॉक्स- इंटरनेट का उपयोग कोई समस्या नहीं है
यारिन

@ यारिन: मुझे विश्वास है कि आप पहले से ही इसे पढ़ चुके हैं: help.github.com/articles/https-cloning-errors अंतिम उपाय ssh का उपयोग करना होगा जो मुझे लगता है। इसके अलावा, आप अपने git के साथ कॉन्फ़िगर किए गए ईमेल को जांचना चाहते हैं ... निश्चित नहीं है कि अगर यह मदद करता है, लेकिन यह सुनिश्चित करें कि यह आपके github खाते के साथ उपयोग करने के लिए मेल खाता है।
greg0ire

हाँ, उनमें से कोई भी जाँच नहीं करता- शाब्दिक रूप से मेरे मैक टर्मिनल से लिनक्स टर्मिनल में एक वर्किंग कमांड की नकल करता है- कोई पासवर्ड प्रॉम्प्ट नहीं, बस क्रेप्स करता है
यारिन

जवाबों:


210

उत्तर सरल था लेकिन स्पष्ट नहीं था:

के बजाय:

git clone https://github.com/org/project.git

करना:

git clone https://username@github.com/org/project.git

या (असुरक्षित)

git clone https://username:password@github.com/org/project.git

(ध्यान दें कि बाद के मामले में, आपका पासवर्ड आपके मशीन पर अन्य उपयोगकर्ताओं द्वारा चलाए जा सकता है ps u -u $youऔर डिफ़ॉल्ट रूप से आपके शेल के इतिहास में स्पष्ट दिखाई देगा)

सभी 3 तरीके मेरे मैक पर काम करते हैं, लेकिन केवल अंतिम 2 ने रिमोट लिनक्स बॉक्स पर काम किया है। (इस पर सोचकर, यह शायद इसलिए है क्योंकि मेरे पास मेरे मैक पर एक वैश्विक गिट उपयोगकर्ता नाम था , जबकि रिमोट पर मैंने ऐसा नहीं किया था; यह मामला हो सकता था, लेकिन एक उपयोगकर्ता नाम के लिए संकेत की कमी ने मुझे उलझा दिया।) ।)

कहीं भी इस दस्तावेज़ को नहीं देखा गया है, इसलिए यहाँ यह है।


3
git config --global user.nameविस्तार से उल्लेख करने के लिए धन्यवाद , यह मेरे लिए था!
जर्मनके

ध्यान दें कि git 1.7.10 के अनुसार , आपको @JERC के अनुसार , एक उपयोगकर्ता नाम के लिए संकेत दिया जाएगा , इसलिए यह अब एक मुद्दा नहीं होना चाहिए ..
यारिन

मेरे पास एक ही मुद्दा था (GIT 1.7.1, CentOS5 के साथ), लेकिन मैं उपयोगकर्ता नाम / pwd को URL-s becouse में नहीं जोड़ सका, मुझे निजी Bitbucket repos (और जाहिर है कि मैं उपयोगकर्ता नाम नहीं जोड़ूंगा) से बंडल स्थापित करना था pw जानकारी एक कंपोज़र.जॉसन / कंपोज़र .लॉक) में। बीएसीआईजी जीआईटी ने मुझे उन्हें मैन्युअल रूप से टाइप करने की अनुमति नहीं दी, मुझे कठिन रास्ता तय करना पड़ा, और आरपीएम फोर्ज रिपोजिटरी ( गुरु 4hp.blogspot.hu/2012/08/ ) की मदद से जीआईटी को अपडेट किया । मैंने यहाँ पाया गया @muness 'गाइड: serverfault.com/questions/448814/…
hattila

2
यह उत्तर है यदि आप linux पर git 1.7.1 का उपयोग कर रहे हैं
Louie Miranda

1
1.7.10 से पहले कुछ भी उपयोग करने पर लागू
अमित जी

32

आप ssl verfiy को मैनुअल कर सकते हैं, और फिर से कोशिश कर सकते हैं। :)

git config --global http.sslverify false

3
Angstrom के साथ बीगलबोन ब्लैक के लिए, skg सत्यापन करने के लिए opkg आवश्यक संस्करण की आपूर्ति नहीं करता है, इसलिए यह एकमात्र विकल्प है जिसे मैंने काम करने के लिए पाया है।
जोसिया

1
@flickerfly स्टेटमेंट मान्य है..किसी अन्य तरीके से क्लोन करके https का उपयोग करके इस विधि का उपयोग करने के अलावा अंगस्ट्रोम ओएस के साथ बीगल ब्लैक का उपयोग करें।
फंकी81

1
सेंटोस पर काम करता है। धन्यवाद।
0:30

Ssl सत्यापन अक्षम करना थोड़ा खतरनाक है। एक दुर्भावनापूर्ण मानव-मध्य सैद्धांतिक रूप से आपको एक संशोधित गिट रेपो भेज सकता है।
मार्क डोलिनर सेप

GitLab
Gerard

12

सुनिश्चित करें कि आपके पास 1.7.10 या बाद में गिट है, यह अब उपयोगकर्ता / पासवर्ड के लिए सही संकेत देता है। (आप यहां नवीनतम संस्करण डाउनलोड कर सकते हैं )


4
मेरे पास एक ही समस्या थी, मेरा git संस्करण 1.7.1 था जब मैंने 1.7.10 में अपग्रेड किया था अब यह उपयोगकर्ता / पासवर्ड को सही ढंग से संकेत देता है !!, (संस्करण 1.7.1 1.7.1 के लिए समान नहीं है) कृपया पहले संस्करणों की जांच करें समर्पित करने के लिए।
जेईआरसी

10

मुझे 1.7.1 git संस्करण पर काम करने के लिए उपयोगकर्ता नाम निर्दिष्ट करना था:

git remote set-url origin https://username@github.com/org/project.git

10

मैं एक ही समस्या से मिला, त्रुटि संदेश और OS जानकारी इस प्रकार है

OS जानकारी:

CentOS रिलीज़ 6.5 (अंतिम)

लिनक्स 192-168-30-213 2.6.32-431.el6.x86_64 # 1 एसएमपी शुक्र 22 नवंबर 03:15:09 यूटीसी 2013 x86_64 x86_64 x86_64 GNU / लिनक्स

त्रुटि जानकारी:

/Home/techops/pyenv/.git/ पासवर्ड में प्रारंभिक खाली गिट रिपॉजिटरी: प्रवेश करते समय त्रुटि: /Home/techops/pyenv/.git/

घातक: HTTP अनुरोध विफल

git और कर्ल संस्करण की जानकारी

git जानकारी: git संस्करण 1.7.1

कर्ल 7.19.7 (x86_64-redhat-linux-gnu) libcurl / 7.19.7 NSS / 3.14.0.0 zlib / 1.2.3 libidn / 1.18 libssh2 / 1.4.2 प्रोटोकॉल: tftp ftp telnet तानाशाह ldap ldaps http फ़ाइल https ftp sftp sftp विशेषताएं: जीएसएस-नेगोशिएट आईडीएन आईपीवी 6 लार्जफाइल एनटीएलएम एसएसएल लिबास

डिबगिंग

$ कर्ल --verbose https://github.com

  • कनेक्ट करने के बारे में () से github.com पोर्ट 443 (# 0)
  • 13.229.188.59 की कोशिश कर रहा है ... जुड़ा हुआ है
  • Github.com से जुड़ा (13.229.188.59) पोर्ट 443 (# 0)
  • सर्टिफिकेट के साथ NSS की शुरुआत: sql: / etc / pki / nssdb
  • CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath: कोई नहीं
  • एनएसएस त्रुटि -12190
  • SSLv3 की कोशिश कर रहे TLS हैंडशेक में त्रुटि ... GET / HTTP / 1.1 उपयोगकर्ता-एजेंट: curl / 7.19.7 (x86_64-redhat-linux-gnu) libcurl / 7.19.7 NSS / 3.50.0.0 zlib / 1.2.3 libidn / 1.18 libssh2 / 1.4.2 होस्ट: github.com स्वीकार करें: /

  • कनेक्शन की मृत्यु हो गई, एक ताजा कनेक्ट पुन: प्रयास कर रहा है

  • समापन # 0 कनेक्शन
  • इस URL के लिए एक और अनुरोध जारी करें: ' https://github.com '
  • कनेक्ट करने के बारे में () से github.com पोर्ट 443 (# 0)
  • 13.229.188.59 की कोशिश कर रहा है ... जुड़ा हुआ है
  • Github.com से जुड़ा (13.229.188.59) पोर्ट 443 (# 0)
  • पिछली हैंडशेक विफलता के कारण टीएलएस अक्षम हो गया
  • CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath: कोई नहीं
  • एनएसएस त्रुटि -12286
  • समापन # 0 कनेक्शन
  • एसएसएल कनेक्ट एरर कर्ल: (35) एसएसएल कनेक्ट एरर

कर्ल, लिबासर्ल और एनएससी को अपग्रेड करने के बाद, गिट क्लोन फिर से ठीक काम करता है, इसलिए यहां यह है। अद्यतन कमांड निम्नानुसार है

sudo yum update -y nss कर्ल libcurl


धन्यवाद - यह एक ग्राहक के पुराने CentOS 6.6 सर्वर git 1.7.1 पर चलने वाले एक रेपो पर
बिटकॉइन के

मुझे गिटलैब-सी रनर के साथ यह समस्या है। उन्नयन के बाद काम ठीक है।
इस्का

6

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

से tecadmin.net :

डाउनलोड और rpmforge रिपॉजिटरी स्थापित:

# use this for 64-bit
rpm -i 'http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm'
# use this for 32-bit
rpm -i 'http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.i686.rpm'

# then run this in either case
rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt

फिर आपको rpmforge-extras को सक्षम करने की आवश्यकता है। संपादित करें /etc/yum.repos.d/rpmforge.repoऔर enabled = 0के enabled = 1तहत बदल जाते हैं [rpmforge-extras]। फ़ाइल इस तरह दिखती है:

### Name: RPMforge RPM Repository for RHEL 6 - dag
### URL: http://rpmforge.net/
[rpmforge]
name = RHEL $releasever - RPMforge.net - dag
baseurl = http://apt.sw.be/redhat/el6/en/$basearch/rpmforge
mirrorlist = http://mirrorlist.repoforge.org/el6/mirrors-rpmforge
#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge
enabled = 1
protect = 0
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
gpgcheck = 1

[rpmforge-extras]
name = RHEL $releasever - RPMforge.net - extras
baseurl = http://apt.sw.be/redhat/el6/en/$basearch/extras
mirrorlist = http://mirrorlist.repoforge.org/el6/mirrors-rpmforge-extras
#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge-extras
enabled = 0 ####### CHANGE THIS LINE TO "enabled = 1" #############
protect = 0
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
gpgcheck = 1

[rpmforge-testing]
name = RHEL $releasever - RPMforge.net - testing
baseurl = http://apt.sw.be/redhat/el6/en/$basearch/testing
mirrorlist = http://mirrorlist.repoforge.org/el6/mirrors-rpmforge-testing
#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge-testing
enabled = 0
protect = 0
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
gpgcheck = 1

एक बार जब आप ऐसा कर लेते हैं, तो आप git के साथ अपडेट कर सकते हैं

yum update git

मुझे यकीन नहीं है कि क्यों, लेकिन वे फिर rpmforge-extras (वापस बदलने के लिए enabled = 0) को अक्षम करने और फिर चलने का सुझाव देते हैं yum clean all

सबसे अधिक संभावना है कि आपको sudoइन आदेशों के लिए उपयोग करने की आवश्यकता होगी ।


वास्तव में महान जवाब! रेडहैट (आरएचईएल) 6.3 पर मेरे मुद्दों को हल किया।
अधिकतम

दो बार रेपो फ़ाइल को मैन्युअल रूप से संपादित करने के बजाय (पहले एक्सट्रा सक्षम करें और फिर इसे फिर से अक्षम करें), मैं बस भागा yum install --enablerepo=rpmforge-extras gitऔर इसे डिट करें!
एलेन

6

मैं काफी समय के बाद काम करने के लिए 1.7.1 git पाने में सक्षम था।

सबसे पहले, मुझे एसएसएल को निष्क्रिय करना था ताकि मैं खींच सकूं:

git config --global http.sslverify false

तब मैं क्लोन कर सकता था

git clone https://github.com/USERNAME/PROJECTNAME.git

फिर जोड़ने और कमिट करने के बाद मैं पीछे धकेलने में असमर्थ था। तो मैंने किया

git remote -v

origin  https://github.com/USERNAME/PROJECTNAME.git (fetch)
origin  https://github.com/USERNAME/PROJECTNAME.git (push)

पुल और पुश एड्रेस देखने के लिए:

इन्हें USERNAME @ के साथ संशोधित किया जाना चाहिए

git remote set-url origin https://USERNAME@github.com/USERNAME/PROJECTNAME.git

यह अभी भी आपको एक पासवर्ड के लिए संकेत देगा, जिसे आप जोड़ सकते हैं

USERNAME:PASSWORD@github.....

लेकिन ऐसा न करें, जैसा कि आप आसान चोरी के लिए क्लीयरटेक्स्ट में अपना पासवर्ड सेव करते हैं।

मुझे यह संयोजन करना पड़ा क्योंकि मैं फ़ायरवॉल सीमाओं के कारण एसएसएच को काम करने के लिए नहीं मिला।


4

यह इस प्रश्न का सबसे विनम्र उत्तर है, लेकिन गिटहब की स्थिति की जाँच करें । यह मुझे मिल गया :)


आज से संदेश: "हम अभी भी एक बहुत बड़े DDoS हमले को कम करने के लिए काम कर रहे हैं। साइट अब कुछ उपयोगकर्ताओं के लिए उपलब्ध है, लेकिन हम लाल स्थिति में रहेंगे जब तक हम आश्वस्त रहें कि साइट ऊपर रह रही है।" GitHub को कौन हैक करता है? वास्तव में?
बेनडून्डी

स्पष्ट रूप से होमकोव नहीं, वह DDoS के बजाय मास्टर करने के लिए प्रतिबद्ध है
nurettin

3

मेरे पास भी यही समस्या और त्रुटि थी। मेरे मामले में यह https_proxy सेट नहीं था। Https_proxy परिवेश चर सेट करना समस्या को हल करता है।

$ export https_proxy=https://<porxy_addres>:<proxy_port>

उदाहरण:

$ export https_proxy=https://my.proxy.company.com:8000

आशा है कि यह किसी की मदद करेंगे।

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