Outra opção feita para especificar chaves diferentes é git config core.sshCommandcom git 2.10 + (Q3 2016).
Isto é uma alternativa para a variável ambiente descrito em Boris de resposta )
Consulte o commit 3c8ede3 (26 de junho de 2016) de Nguyễn Thái Ngọc Duy ( pclouds) .
(Fundido por Junio C Hamano - gitster- no commit dc21164 , 19 de julho de 2016)
Uma nova variável de configuração core.sshCommandfoi adicionada para especificar qual valor para GIT_SSH_COMMAND usar por repositório.
Semelhante a $GIT_ASKPASSou $GIT_PROXY_COMMAND, também lemos do arquivo de configuração primeiro e depois voltamos para $GIT_SSH_COMMAND.
Isso é útil para selecionar diferentes chaves privadas destinadas ao mesmo host (por exemplo, github)
core.sshCommand:
Se esta variável for definida, git fetche git pushusará o comando especificado em vez de sshquando precisar se conectar a um sistema remoto.
O comando está no mesmo formato da GIT_SSH_COMMANDvariável de ambiente e é substituído quando a variável de ambiente é definida.
Isso significa que git clonepode ser:
cd /path/to/my/repo
git config core.sshCommand 'ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no'
# later on
git clone host:repo.git
Se você quiser aplicar isso a todos os repos, conforme user1300959 adiciona nos comentários , você usaria uma configuração global.
git config --global core.sshCommand 'ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no'