Brelok ssh-agent przesłaniający określony klucz SSH

1

Korzystam z repozytoriów GitLab z dwoma użytkownikami (ja i ​​użytkownik testowy). W moim repozytorium testowym mam to w .git / config:

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

I w ogóle nie używam hasła w test_id_rsa.

„git pull” itp. działa dobrze, ale tylko wtedy, gdy pęku kluczy nie działa. Kiedy brelok jest uruchomiony, wygląda na to, że mój zwykły klucz SSH jest używany, a polecenia Git nie będą działać, ponieważ okazuje się, że użyto niewłaściwej pary kluczy.

Bez pęku kluczy:

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

Brelok zaczynam od powłoki:

eval `keychain --eval --agents ssh id_rsa

Po uruchomieniu pęku kluczy:

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

Czy jest jakiś sposób, aby uniknąć konieczności wyłączania pęku kluczy za każdym razem, gdy używam mojej repozytorium testów w testach?

Lynoure
źródło

Odpowiedzi:

1

Jeśli jest to klucz dość często, sztuczka polega na dodaniu tego klucza do pęku kluczy:

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

Następnie odpowiedni klucz zostanie wykorzystany.

Jeśli ktoś używa klucza rzadziej lub używa wielu różnych kluczy, najlepiej po prostu zatrzymać breloczek.

Lynoure
źródło