Chaveiro ssh-agent substituindo a chave SSH especificada

1

Eu uso os repositórios do GitLab com dois usuários (eu e um usuário de teste). Para o meu repositório de teste eu tenho isso em .git / config:

[core]
    sshCommand = ssh -i /test-project/test_id_rsa
[remote "origin"]
    url = [email protected]:test.tester/test-repo.git

E eu não uso uma senha com test_id_rsa.

'git pull', etc. funciona bem, mas apenas quando o keychain não está em execução. Quando o keychain está em execução, parece que minha chave SSH usual é usada, e os comandos do Git não funcionarão, já que me deparei com um par de chaves errado.

Sem chaveiro:

lynoure@laptop:~/repo$ ssh -i ~/.ssh/a_test.tester_key [email protected]
Welcome to GitLab, test tester!
Connection to gitlab.example.com closed.

Eu começo o keychain com o shell, por:

eval 'keychain --eval --agents ssh id_rsa

Quando eu inicio o keychain:

lynoure@laptop:~/repo$ ssh -i ~/.ssh/a_test.tester_key [email protected]
Welcome to GitLab, Lynoure!
Connection to gitlab.example.com closed.

Existe alguma maneira de evitar a necessidade de desabilitar o keychain toda vez que eu usar o meu repo-teste nos testes?

    
por Lynoure 29.09.2017 / 16:35

1 resposta

1

Se esta é uma chave razoavelmente frequente, o truque é adicionar essa chave ao keychain:

eval 'keychain --eval --agents ssh id_rsa a_test.tester_key

Depois disso, a tecla certa será usada.

Se alguém usa uma chave com menos frequência, ou usa muitas chaves diferentes, é melhor parar as chaves para isso.

    
por 01.12.2017 / 11:11