Outra opção feita para especificar chaves diferentes é git config core.sshCommand
com 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.sshCommand
foi adicionada para especificar qual valor para GIT_SSH_COMMAND usar por repositório.
Semelhante a $GIT_ASKPASS
ou $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 fetch
e git push
usará o comando especificado em vez de ssh
quando precisar se conectar a um sistema remoto.
O comando está no mesmo formato da GIT_SSH_COMMAND
variável de ambiente e é substituído quando a variável de ambiente é definida.
Isso significa que git clone
pode 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'