Przejdź do głównej treści Przejdź do nawigacji dokumentów
0%

Klucze SSH

Tworzenie klucza głównego

Tworzymy nowy klucz SSH dla Twojego konta w Windows, Linux lub macOS wybierając puste hasło, kiedy zostaniemy o nie zapytani:

ssh-keygen -t rsa -b 4096

Utworzy domyślnie parę kluczy:

  • Klucz prywatny ~/.ssh/id_rsa (tylko na Twoim komputerze)
  • Klucz publiczny ~/.ssh/id_rsa.pub (udostępniamy zewnętrznym serwisom)

Teraz możemy dodać klucz publiczny do naszego konta GitHub lub Bitbucket kopiując tylko klucz publiczny:

cat ~/.ssh/id_rsa.pub

Możemy dodać taki klucz po stronie naszego serwera do pliku ~/.ssh/authorized_keys jeden klucz na wiersz, żeby pominąć potrzebę wpisywania hasła przy używaniu komendy:

ssh moj-serwer.com

Tworzenie klucza na konkretne potrzeby

Tworzymy nowy klucz SSH dla pracodawcy albo kontrahenta, np. dla firmy Foo:

ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa_foo

Zobacz, jak użyć takiego klucza dla wyodrębnionego zbioru repozytoriów dla konkretnej firmy w sekcji Ustawienia dla zbioru repozytoriów.

Wiele różnych kluczy SSH dla GitHub

Możemy ten problem rozwiązać za pomocą metody opisanej w sekcji Ustawienia dla zbioru repozytoriów albo indywidualnie tak jak to opisano w tej sekcji.

Załóżmy, że mamy wiele różnych kluczy SSH lub nawet różnych kont GitHub i chcielibyśmy przypisać odpowiednie klucze do odpowiednich repozytoriów.

Tworzymy lub edytujemy plik:

~/.ssh/config

# Default SSH key for my personal projects
Host github.com
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa
    IdentitiesOnly yes

# SSH key for the Foo company
Host github-foo
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa_foo
    IdentitiesOnly yes

Teraz możemy pobrać repozytorium z firmy Foo:

git clone git@github-foo:foo/api.git

Zwróć uwagę, że użyliśmy github-foo zamiast github.com.