Por que usar uma chave SSH personalizada?
Em alguns cenários, você pode precisar usar uma chave SSH diferente da padrão (~/.ssh/id_rsa ou id_ed25519) para autenticar operações Git, como clone, pull ou push. Isso é comum quando você trabalha com múltiplas contas ou acessa diferentes repositórios que exigem chaves distintas.
Como especificar uma chave SSH diferente
Você pode informar ao Git qual chave usar em cada comando, sem alterar a configuração global do SSH. Para isso, utilize a variável de ambiente GIT_SSH_COMMAND.
Exemplo no Linux/macOS
GIT_SSH_COMMAND='ssh -i ~/.ssh/minha_outra_chave -o IdentitiesOnly=yes' git push
Exemplo no Windows (cmd)
set GIT_SSH_COMMAND=ssh -i "C:\Users\seu_usuario\.ssh\minha_outra_chave" -o IdentitiesOnly=yes
git push
Exemplo no Windows (PowerShell)
$env:GIT_SSH_COMMAND='ssh -i "C:\Users\seu_usuario\.ssh\minha_outra_chave" -o IdentitiesOnly=yes'
git push
Dica:
O parâmetro-o IdentitiesOnly=yesgarante que apenas a chave especificada será usada, evitando conflitos com outras chaves carregadas no ssh-agent.
Outros usos práticos
-
Clonar um repositório:
GIT_SSH_COMMAND='ssh -i ~/.ssh/chave_especial' git clone git@github.com:usuario/repositorio.git -
Fazer pull:
GIT_SSH_COMMAND='ssh -i ~/.ssh/chave_especial' git pull -
Usar em scripts:
Inclua o comandoGIT_SSH_COMMANDantes de cada operação Git que precise da chave específica.
Alternativa: Configurar o arquivo SSH config
Se você usa sempre a mesma chave para um host específico, pode configurar o arquivo ~/.ssh/config:
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/minha_outra_chave
IdentitiesOnly yes
Assim, não precisa definir GIT_SSH_COMMAND toda vez.
Com essas dicas, você pode trabalhar com múltiplas chaves SSH de forma simples e segura em seus projetos Git. Isso facilita a gestão de acessos e mantém suas operações organizadas, especialmente em ambientes onde múltiplas identidades são necessárias.