यह बताने का कोई सीधा तरीका नहीं है कि git
किस निजी कुंजी का उपयोग करना है, क्योंकि यह ssh
रिपॉजिटरी प्रमाणीकरण के लिए निर्भर करता है। हालाँकि, अपने लक्ष्य को प्राप्त करने के लिए अभी भी कुछ तरीके हैं:
विकल्प 1: ssh-agent
आप ssh-agent
अपनी निजी कुंजी को अस्थायी रूप से अधिकृत करने के लिए उपयोग कर सकते हैं ।
उदाहरण के लिए:
$ ssh-agent sh -c 'ssh-add ~/.ssh/id_rsa; git fetch user@host'
विकल्प 2: GIT_SSH_COMMAND
GIT_SSH_COMMAND
पर्यावरण चर (Git 2.3.0+) का उपयोग करके ssh तर्क पास करें ।
उदाहरण के लिए:
$ GIT_SSH_COMMAND='ssh -i ~/.ssh/id_rsa -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' \
git clone user@host
आप यह सब एक लाइन पर टाइप कर सकते हैं - अनदेखा करें $
और बाहर छोड़ दें \
।
विकल्प 3: GIT_SSH
GIT_SSH
वैकल्पिक ssh
बाइनरी को निर्दिष्ट करने के लिए पर्यावरण चर का उपयोग करके ssh तर्क पास करें ।
उदाहरण के लिए:
$ echo 'ssh -i ~/.ssh/id_rsa -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no $*' > ssh
$ chmod +x ssh
$ GIT_TRACE=1 GIT_SSH='./ssh' git clone user@host
नोट: उपरोक्त लाइनें शेल (टर्मिनल) कमांड लाइन हैं जिन्हें आपको अपने टर्मिनल में पेस्ट करना चाहिए। वे नाम से एक फ़ाइल बनाएंगे ssh
, इसे निष्पादन योग्य बनाएंगे, और (अप्रत्यक्ष रूप से) इसे निष्पादित करेंगे।
नोट: GIT_SSH
v0.99.4 (2005) के बाद से उपलब्ध है ।
विकल्प 4: ~/.ssh/config
~/.ssh/config
अपनी निजी कुंजी के स्थान को निर्दिष्ट करने के लिए अन्य उत्तरों में सुझाई गई फ़ाइल का उपयोग करें , जैसे
Host github.com
User git
Hostname github.com
IdentityFile ~/.ssh/id_rsa