यह बताने का कोई सीधा तरीका नहीं है कि 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_SSHv0.99.4 (2005) के बाद से उपलब्ध है ।
विकल्प 4: ~/.ssh/config
~/.ssh/configअपनी निजी कुंजी के स्थान को निर्दिष्ट करने के लिए अन्य उत्तरों में सुझाई गई फ़ाइल का उपयोग करें , जैसे
Host github.com
User git
Hostname github.com
IdentityFile ~/.ssh/id_rsa