Другой вариант указания разных ключей - git config core.sshCommandgit 2.10 + (3 квартал 2016 г.).
Это является альтернативой переменной окружения , описанной в Борисе «s ответ )
См. Commit 3c8ede3 (26 июня 2016 г.), автор - Nguy Thn Thái Ngọc Duy ( pclouds) .
(Объединено Junio C Hamano - gitster- в коммите dc21164 , 19 июля 2016 г.)
Была core.sshCommandдобавлена новая переменная конфигурации , чтобы указать, какое значение GIT_SSH_COMMAND использовать для каждого репозитория.
Подобно $GIT_ASKPASSили $GIT_PROXY_COMMAND, мы также сначала читаем из файла конфигурации, а затем возвращаемся к $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
Если вы хотите применить это для всех репозиториев, как добавляет user1300959 в комментариях , вы должны использовать глобальную конфигурацию.
git config --global core.sshCommand 'ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no'