[git] गिट मुझे पासवर्ड के लिए संकेत देता रहता है


Answers

Credential.helper को कॉन्फ़िगर करना

ओएस एक्स (अब मैकोज़) पर टर्मिनल में इसे चलाएं

git config --global credential.helper osxkeychain

यह गिट को उपयोगकर्ता नाम और पासवर्ड स्टोर करने के लिए Keychain.app का उपयोग करने और कीचेन से अपनी निजी एसएस कुंजी को पासफ्रेज़ पुनर्प्राप्त करने में सक्षम बनाता है।

विंडोज़ के उपयोग के लिए:

git config --global credential.helper wincred

समस्या निवारण

यदि गिट क्रेडेंशियल हेल्पर सही तरीके से कॉन्फ़िगर किया गया है तो मैकोज़ कुंजीचैन में पासफ्रेज़ बचाता है। कभी-कभी कुंजीपैन में संग्रहीत एसएसएच और पासफ्रेज़ के बीच कनेक्शन तोड़ सकता है। कीचेन में कुंजी जोड़ने के लिए ssh-add -K या ssh-add ~/.ssh/id_rsa चलाएं।

मैकोज़ 10.12 सिएरा एसएसएच में बदल जाता है

मैकोज़ 10.12 के लिए सिएरा ssh-add -K को प्रत्येक रीबूट के बाद चलाने की आवश्यकता है। इस सामग्री के साथ ~/.ssh/config बनाने से बचने के लिए।

Host *
   AddKeysToAgent yes
   UseKeychain yes
   IdentityFile ~/.ssh/id_rsa

ssh_config को ssh_config man पेज से:

UseKeychain

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

ऐप्पल ने टेक्नोटे 2449 को जोड़ा है जो बताता है कि क्या हुआ।

मैकोज सिएरा से पहले, एसएसएच आपके पासफ्रेज के लिए एक संवाद पेश करेगा और इसे चाबी में स्टोर करने का विकल्प प्रदान करेगा। इस यूआई को कुछ समय पहले बहिष्कृत कर दिया गया था और हटा दिया गया है।

Question

मैं थोड़ी देर के लिए गिट का उपयोग कर रहा हूं, लेकिन पासवर्ड के निरंतर अनुरोध मुझे दीवार को ड्राइव करने के लिए शुरू कर रहे हैं।

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

फिर भी, हर बार जब मैं खींचने की कोशिश करता हूं, तो मुझे अपना उपयोगकर्ता नाम और पासवर्ड दर्ज करना होगा। क्या एसएसएच कुंजी के अलावा कुछ और है जिसे मुझे इसके लिए स्थापित करने की आवश्यकता है?




आपकी कॉन्फ़िगरेशन के आधार पर विभिन्न प्रकार के प्रमाणीकरण हैं। यहां कुछ हैं:

  1. git credential-osxkeychain

    यदि आपका क्रेडेंशियल अमान्य है, तो इसे हटा दें:

    git credential-osxkeychain erase
    

    या:

    printf "protocol=https\nhost=github.com\n" | git credential-osxkeychain erase
    

    तो गिट आपको चाबी की अनुमति के लिए फिर से नहीं पूछेगा। फिर इसे फिर से कॉन्फ़िगर करें।

    देखें: गिटहब पर ओएसएक्स कीचेन से प्रमाण-पत्र अपडेट करना

  2. आपका एसएसएच आरएसए कुंजी।

    इसके लिए, यदि आप सही पहचान का उपयोग कर रहे हैं, तो आपको अपनी एसएसएच कुंजी की तुलना में जो जोड़ा है उसके साथ तुलना करने की आवश्यकता है, ssh-add -L / ssh-add -l द्वारा जांचें।

  3. आपका HTTPS प्रमाणीकरण (यदि आप ssh प्रोटोकॉल के बजाय https का उपयोग कर रहे हैं)।

    अपने क्रेडेंशियल्स प्रदान करने के लिए ~/.netrc ( %HOME%/_netrc विंडोज़) का प्रयोग करें, उदाहरण के लिए

    machine stash1.mycompany.com
    login myusername 
    password mypassword
    

    और जानें: SO पर गिटहब के साथ समन्वयित करना




http://nathanj.github.io/gitguide/tour.html को पुश / खींचने के लिए एसएसएच का उपयोग करके विंडोज़ और गिथब पर गिट करने की मार्गदर्शिका

  1. पट्टी डाउनलोड और स्थापित करें
  2. पर्यावरण चर 'GIT_SSH' = 'path \ to \ plink.exe' सेट करें (स्थापित पुटी फ़ोल्डर में) - बहुत महत्वपूर्ण !!!
  3. एनवी चर के प्रभाव के लिए पुनर्वित्त विन्डोज़ एक्सप्लोरर (केवल कमांड प्रॉम्प्ट को पुनरारंभ नहीं कर सकता)
  4. नई कुंजी उत्पन्न करने के लिए puttygen.exe चलाएं, सार्वजनिक कुंजी को गीथब साइट पर कॉपी करें
  5. इस नई निजी कुंजी को डिस्क पर कहीं सुरक्षित सहेजें (बेहतर ड्रॉपबॉक्स नहीं)
  6. Putty.exe चलाएं और एसएसएच को github.co से कनेक्ट करें
  7. "खोल: स्टार्टअप" चलाकर जल्दी स्टार्टअप फ़ोल्डर पर जाएं। 8 पेजेंट के माध्यम से विंडोज़ के साथ अपनी निजी कुंजी स्टार्टअप बनाएं। सिंटैक्स "पथ \ to \ pageant.exe" "पथ \ to \ privatekey" के साथ स्टार्टअप फ़ोल्डर में शॉर्टकट बनाएं
  8. हमें हमारे repos के git / config के अंदर 'puttykeyfile' सेटिंग सेट करने की आवश्यकता नहीं है
  9. बहुत महत्वपूर्ण यह है कि गीथूब का "एसएसएच क्लोन यूआरएल" इस्तेमाल किया जाता है और एचटीपीएस नहीं



यह भी देखें कि पासफ्रेज के लिए आपको कौन पूछ रहा है। क्या यह गिट या आपका एसएसएच एजेंट है?

मेरे मामले में, हर बार जब मैंने git pull यह मुझसे पूछ रहा था:

Enter passphrase for key '/work/username/.ssh/id_rsa':

तो मैंने माना कि यह एक पासफ्रेज मांगने के लिए गिट था। इसलिए मैंने समाधान के लिए शिकार रखा, केवल बाद में महसूस किया कि मेरा एसएसएच एजेंट बंद हो गया था। here. दिए गए अनुसार तय किया जा सकता here.

यह एक सुंदर मूर्खतापूर्ण गलती थी जिसे मैंने बनाया था, लेकिन इसे यहां पोस्ट कर रहा था, बस अगर किसी ने गलत पेड़ को भौंकने से कुछ समय बचाने में मदद की, जैसा मैंने किया था।




इसका उपयोग करें: उचित होस्टनाम के साथ github.com को बदलें

git remote set-url origin git@github.com:user/repo.git



आपके टर्मिनल में गिट के साथ कीचेन का उपयोग करने पर ऑर्कोडेन का जवाब अपूर्ण था और इरॉस उठाता था। आपके कुंजीपटल में टर्मिनल में दर्ज उपयोगकर्ता नाम और पासवर्ड को सहेजने के लिए आपको यही करना है:

curl http://github-media-downloads.s3.amazonaws.com/osx/git-credential-osxkeychain -o git-credential-osxkeychain
sudo mv git-credential-osxkeychain /usr/local/bin
sudo chmod u+x /usr/local/bin/git-credential-osxkeychain

फिर दर्ज करें

git config --global credential.helper osxkeychain

यदि आप पहले से ही कर्ल सामान से पहले गिट कॉन्फ़िगरेशन के साथ हिस्सा कर चुके हैं, तो यह कोई समस्या नहीं है, यह काम करेगा




टाइमआउट अवधि बढ़ाने के लिए निम्न आदेश का उपयोग करें ताकि आप थोड़ी देर के लिए पासवर्ड पुनः टाइप कर सकें

git config --global credential.helper 'cache --timeout 3600'

मैंने इसे बिट्टबकेट और गिथब के लिए इस्तेमाल किया, यह दोनों के लिए काम करता है। केवल एक चीज जो आपको करने की ज़रूरत है वह 3600 सेकेंड में है, जो भी आप चाहते हैं उसे 259200259200 इसे 259200 बदल दिया जो लगभग 30 दिन है। इस तरह से मैं हर 30 दिनों के लिए अपना पासवर्ड पुनः दर्ज करता हूं।







जैसा कि static_rtti ऊपर कहा, बदलें

https://github.com/username/repo.git
git://github.com/username/repo.git

सेवा मेरे

ssh://git@github.com/username/repo.git

मैंने स्वयं को .git / config फ़ाइल में https को ssh में बदल दिया है, लेकिन यह अभी भी काम नहीं कर रहा था। तब मैंने देखा कि आपको github.com को git@github.com में बदलना होगा। वास्तविक सही यूआरएल प्राप्त करने का एक अच्छा तरीका है अपने प्रोजेक्ट पेज पर जाना और इसे क्लिक करना

सही यूआरएल पाने के लिए एचटीटीपीएस को एसएसएच में बदलें

फिर कॉन्फ़िगरेशन फ़ाइल में यह यूआरएल जोड़ें।






Links



Tags

git git   github