Não há nenhuma direção direta para informar a git
qual chave privada usar, porque ela depende de ssh
para autenticação do repositório. No entanto, ainda existem algumas maneiras de atingir seu objetivo:
Opção 1: ssh-agent
Você pode usar ssh-agent
para autorizar temporariamente sua chave privada.
Por exemplo:
$ ssh-agent sh -c 'ssh-add ~/.ssh/id_rsa; git fetch user@host'
Opção 2: GIT_SSH_COMMAND
Transmita os argumentos ssh usando a variável de ambiente GIT_SSH_COMMAND
(Git 2.3.0 +).
Por exemplo:
$ GIT_SSH_COMMAND='ssh -i ~/.ssh/id_rsa -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' \
git clone user@host
Você pode digitar tudo isso em uma linha - ignorar $
e deixar de fora o \
.
Opção 3: GIT_SSH
Passe os argumentos ssh usando a variável de ambiente GIT_SSH
para especificar% binária ssh
alternativa.
Por exemplo:
$ echo 'ssh -i ~/.ssh/id_rsa -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no $*' > ssh
$ chmod +x ssh
$ GIT_TRACE=1 GIT_SSH='./ssh' git clone user@host
Nota: As linhas acima são linhas de comando shell (terminal) que você deve colar no seu terminal. Eles vão criar um arquivo chamado ssh
, torná-lo executável e (indiretamente) executá-lo.
Nota: GIT_SSH
está disponível desde a v0.99.4 (2005).
Opção 4: ~/.ssh/config
Use o arquivo ~/.ssh/config
, conforme sugerido em outras respostas, para especificar o local da sua chave privada, por exemplo,
Host github.com
User git
Hostname github.com
IdentityFile ~/.ssh/id_rsa