Autoryzacji SSH dla kilku kont git w tej samej domenie #tutorial

Posted by

Załóżmy, że mamy kilka projektów na github.com, czy bitbucket.org i te projekty są na różnych kontach (osobisty, firmowym). W przypadku gdy chcemy skonfigurować klucze SSH dla autoryzacji podczas korzystania z gita pojawia się problem, ponieważ dla tej samej domeny będzie brany pierwszy klucz z rzędu. Co zrobić w takim przypadku, aby móc korzystać z różnych kluczy dla użytkowników w tej samej domenie?

Rozwiązanie:

  1. Na początek trzeba wygenerować parę kluczy. Tutaj jest opisane jak to zrobić. Warto trochę przemyśleć nazewnictwo kluczy np.: „id_rsa_username(.pub)” i dodatkowo dodać komentarz do klucza np z adresem domeny i kontem użytkownika, aby potem można było łatwo odnaleźć potrzebną parę kluczy.
  2. Kopiujemy publiczny klucz do naszego serwera (github.com, bitbucket.org, etc.)
  3. W pliku /home/user/.ssh/config (jeśli go nie ma to tworzymy) dodajemy takie linijki: (oczywiście uzupełniamy według naszych potrzeb)
    #user1 account
    Host github.com-user1
        HostName github.com
        User git
        IdentityFile ~/.ssh/id_rsa_user1
    
    #user2 account
    Host github.com-user2
        HostName github.com
        User git
        IdentityFile ~/.ssh/id_rsa_user2
  4. Z poziomu projektu sprawdzamy typ połączenia ze zdalnym repozytorium wpisując:
    git remote -v
  5. I zmieniamy odpowiednio adres origina zgodnie z nazwą hosta jaką skonfigurowaliśmy w pliku config:
    git remote set-url origin git@github.com-user1:user1/your-repo-name.git

Od teraz git powinien już wiedzieć gdzie push`ować i skąd fetch`ować nasze zmiany 🙂

Źródła i linki:

https://gist.github.com/jexchan/2351996

print

Leave a Reply

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *