Rozdział 23 · Część I · Git i GitHub od podstaw

Konfigurujemy SSH

Klucz prywatny pozostaje na komputerze i potwierdza tożsamość bez opuszczania go; Klucz publiczny trafia do GitHub.

SafeSort · Część 1 z 6Git i GitHub
Twój komputerklucz prywatny —nigdyopuszczassh-agentprzechowuje odszyfrowaneklucz w pamięci włączonyczas sesjiGitHubklucz publiczny —potwierdzaautentyczność, nie daje…
Klucz prywatny potwierdza tożsamość bez opuszczania komputera; tylko klucz publiczny wchodzi do GitHub

uwierzytelnianie SSH- opiera się na parze kluczy: klucz prywatny pozostaje na twoim komputerze i nigdy nie jest nikomu udostępniane, publicznie jest przesyłane do ustawień GitHub. GitHub Potwierdza, że masz prywatną połowę pary, nie widząc jej osobiście.

Stwórz klucz

Udokumentowane polecenie — patrz oficjalna instrukcja GitHub
ssh-keygen -t ed25519 -C "you@example.com"

Na pytanie o plik do zapisania zwykle wystarczy nacisnąć Enter (domyślna ścieżka), a frazę hasła (passphrase) warto ustawić — to dodatkowa ochrona klucza na dysku.

Dodaj klucz do ssh-agent

Udokumentowany zespół
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519

Dodaj klucz publiczny do GitHub

Zawartość pliku ~/.ssh/id_ed25519.pub jest kopiowany do Settings → SSH and GPG keys → New SSH key.

Sprawdzamy połączenie

Udokumentowany zespół
ssh -T git@github.com
# Hi USERNAME! You've successfully authenticated, but GitHub does not provide shell access.
Ta wiadomość nie jest pomyłką
GitHub nie zapewnia interaktywnej powłoki SSH — fraza „does not provide shell access”
Oficjalna dokumentacja
About SSH
Generating a new SSH key and adding it to the ssh-agent
Adding a new SSH key to your GitHub account
Tłumaczenie i edukacyjna adaptacja oficjalnej dokumentacji GitHub. materiałów źródłowych – CC BY 4.0.

Krótko

  • Klucz prywatny nigdy nie opuszcza komputera; tylko klucz publiczny jest pobierany na GitHub.
  • ssh-keygen tworzy parę ssh-add dodaje ją do ssh-agent na czas trwania sesji.
  • ssh -T git@github.com sprawdza połączenie — komunikat o braku shell-dostępu oznacza sukces.