Use uma chave especificada do ssh-agent

9

Ao longo das linhas de Como dizer ao git qual chave privada usar? Eu gostaria de usar uma chave ssh específica em uma determinada situação.

Meu problema é que, mesmo quando especifico '-i something', o ssh usa as chaves do meu ssh-agent na ordem em que elas são adicionadas.

Minha situação específica:

  • Eu tenho dois usuários do github, cada um com sua própria chave Eu gostaria de - por exemplo, através de um ssh-config - para cada clone especificar qual chave usar:

    Anfitrião USER1.git

    Nome do host github.com

    User git

    IdentityFile ~ / .ssh / USER1.id_rsa

ssh -vt USER1.git

ainda usará USER2.id_rsa se essa for a chave adicionada primeiro ao ssh-agent.

    
por svrist 15.11.2011 / 11:01

2 respostas

4

Eu finalmente consegui que funcionasse:

Host USER1.git
  User git
  HostName github.com
  IdentityFile ~/.ssh/USER1.id_rsa

Host USER2.git
  User git
  HostName github.com
  IdentityFile ~/.ssh/USER2.id_rsa
    Contagem de
  • recuo.
  • Execute ssh-add -l e certifique-se de que ambas as suas chaves tenham sido adicionadas.
    • Copie / cole cada caminho de ssh-add -l na linha apropriada em ~/.ssh/config para evitar erros de digitação. Se houver um erro de digitação do caminho do arquivo de identidade ~/.ssh/config para USER1, a chave errada (a chave do USER2) será usada.

Eu recebi as instruções no BitBucket. Eles devem funcionar para o GitHub, pois a única diferença é HostName : link

Para que isso funcione em um servidor remoto usando o encaminhamento de agentes, tente a sugestão do @ stijn-hoop abaixo (na seção de comentários desta resposta).

    
por 26.02.2013 / 08:34
1

Use IdentitiesOnly yes abaixo desses hosts, em .ssh / config.

    
por 17.11.2011 / 19:06