อีกทางเลือกหนึ่งที่สร้างขึ้นเพื่อระบุคีย์ต่างๆคือgit config core.sshCommand
git 2.10 + (Q3 2016)
นี่เป็นทางเลือกสำหรับตัวแปรสภาพแวดล้อมที่อธิบายไว้ในคำตอบของBoris )
ดูกระทำ 3c8ede3 (26 มิถุนายน 2016) โดยNguyễnTháiNgọc Duy (pclouds
)
(ผสานโดยJunio C Hamano - gitster
-ในการกระทำ dc21164 , 19 ก.ค. 2559)
core.sshCommand
มีการเพิ่มตัวแปรคอนฟิกูเรชันใหม่เพื่อระบุค่าที่ GIT_SSH_COMMAND จะใช้ต่อที่เก็บ
คล้ายกับ$GIT_ASKPASS
หรือ$GIT_PROXY_COMMAND
เราอ่านจากไฟล์ config ก่อนจากนั้นถอยกลับไปที่$GIT_SSH_COMMAND
.
สิ่งนี้มีประโยชน์สำหรับการเลือกคีย์ส่วนตัวที่แตกต่างกันโดยกำหนดเป้าหมายโฮสต์เดียวกัน (เช่น github)
core.sshCommand:
หากตั้งค่าตัวแปรนี้git fetch
และgit push
จะใช้คำสั่งที่ระบุแทนssh
เมื่อจำเป็นต้องเชื่อมต่อกับระบบรีโมต
คำสั่งอยู่ในรูปแบบเดียวกับGIT_SSH_COMMAND
ตัวแปรสภาพแวดล้อมและจะถูกแทนที่เมื่อตั้งค่าตัวแปรสภาพแวดล้อม
หมายความว่าgit clone
สามารถ:
cd /path/to/my/repo
git config core.sshCommand 'ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no'
# later on
git clone host:repo.git
หากคุณต้องการใช้กับrepos ทั้งหมดตามที่user1300959เพิ่มในความคิดเห็นคุณจะต้องใช้การกำหนดค่าส่วนกลาง
git config --global core.sshCommand 'ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no'