นอกจากนี้ไม่มีโดยตรงวิธีที่จะบอกgit
ซึ่งคีย์ส่วนตัวในการใช้งานเพราะอาศัยssh
สำหรับการตรวจสอบพื้นที่เก็บข้อมูล อย่างไรก็ตามยังมีอีกสองสามวิธีในการบรรลุเป้าหมายของคุณ:
ตัวเลือกที่ 1: ssh-agent
คุณสามารถใช้ssh-agent
เพื่ออนุญาตคีย์ส่วนตัวของคุณชั่วคราว
ตัวอย่างเช่น:
$ ssh-agent sh -c 'ssh-add ~/.ssh/id_rsa; git fetch user@host'
ตัวเลือก 2: GIT_SSH_COMMAND
ผ่านอาร์กิวเมนต์ ssh โดยใช้GIT_SSH_COMMAND
ตัวแปรสภาพแวดล้อม (Git 2.3.0+)
ตัวอย่างเช่น:
$ GIT_SSH_COMMAND='ssh -i ~/.ssh/id_rsa -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' \
git clone user@host
คุณสามารถพิมพ์นี้ทั้งหมดในหนึ่งเส้น - ไม่สนใจและปล่อยออกมา$
\
ตัวเลือก 3: GIT_SSH
ผ่านอาร์กิวเมนต์ ssh โดยใช้GIT_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