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 = git@example.com: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 git@gitlab.example.com
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 git@gitlab.example.com
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?

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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.