Một tùy chọn khác được thực hiện để chỉ định các khóa khác nhau là git config core.sshCommand
với git 2.10 + (Q3 2016).
Đây là một thay thế cho biến môi trường được mô tả trong câu trả lời của Boris )
See commit 3c8ede3 (26 Jun 2016) by Nguyễn Thái Ngọc Duy ( pclouds
) .
(Hợp nhất bởi Junio C Hamano - gitster
- trong cam kết dc21164 , ngày 19 tháng 7 năm 2016)
Một biến cấu hình mới core.sshCommand
đã được thêm vào để chỉ định giá trị nào cho GIT_SSH_COMMAND để sử dụng cho mỗi kho lưu trữ.
Tương tự như $GIT_ASKPASS
hoặc $GIT_PROXY_COMMAND
, chúng tôi cũng đọc từ tệp cấu hình trước sau đó quay trở lại $GIT_SSH_COMMAND
.
Điều này hữu ích để chọn các khóa riêng tư khác nhau nhắm mục tiêu đến cùng một máy chủ (ví dụ: github)
core.sshCommand:
Nếu biến này được đặt git fetch
và git push
sẽ sử dụng lệnh được chỉ định thay vì ssh
khi chúng cần kết nối với hệ thống từ xa.
Lệnh có cùng dạng với GIT_SSH_COMMAND
biến môi trường và được ghi đè khi biến môi trường được đặt.
Nó có nghĩa là git clone
có thể:
cd /path/to/my/repo
git config core.sshCommand 'ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no'
# later on
git clone host:repo.git
Nếu bạn muốn áp dụng điều đó cho tất cả các repo, như user1300959 thêm vào trong các nhận xét , bạn sẽ sử dụng cấu hình chung.
git config --global core.sshCommand 'ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no'