W moim scenariuszu, podobnym do scenariusza @Richarda Smitha (którego rozwiązanie, BTW, nie działa dla mnie), potrzebuję użyć różnych kluczy dla tego samego serwera pod różnymi repozytoriami.
Rozwiązaniem dla mnie było, aby skonfigurować sesję poprawnie zmiennej środowiskowej GIT_SSH_COMMAND
, tak:
export GIT_SSH_COMMAND="ssh -o IdentitiesOnly=yes -i ~/.ssh/my-secret-identitiy"
Aktualizacja:
Inną rzeczą, aby pamiętać, jest to, że ustawienie zmiennej środowiskowej poprawnie może być zgiełkiem, więc używam opcji modyfikacji wiersza poleceń dostarczanych przez takie rzeczy, jak Liquid Prompt of Fish Shell, aby podłączyć się do powłoki i aktualizować zmienne środowiskowe zgodnie z bieżącym katalogiem i niektórymi regułami. Na przykład wszystkie moje osobiste projekty, które wymagają mojego osobistego klucza SSH z Gitlabem, są pod ~/Documents/Projects/personal
, więc gdy hak powłoki działa pwd
i stwierdzi, że katalog bieżący znajduje się pod tą ścieżką, automatycznie ustawia zmienne GIT_SSH_COMMAND
w razie potrzeby.
To pytanie znajduje się na stronie http://superuser.com/questions/232373/tell-git-which-private-key-to-use. –
możliwy duplikat [Podaj klucz SSH dla git push bez użycia ~/.ssh/config] (http: // stackoverflow.com/questions/7927750/specify-an-ssh-key-for-git-push-bez-używania-ssh-config) –
Możliwy duplikat [Podaj prywatny klucz SSH do użycia podczas wykonywania polecenia powłoki z lub bez Ruby?] (http://stackoverflow.com/questions/4565700/specify-private-ssh-key-to-use-when-executing-shell-command-with-or-without-ruby) – Zaz