Tym razem wpis na temat GitHub i logowania się do niego za pomocą kluczy SSH. Czasami GitHub prosi nas o podanie hasła lub nawet loginu do konta. Można temu zaradzić wdrążając klucz SSH. Tworząc dwa klucze (publiczny i prywatny), jeden z nich umieszczamy na stronie GitHuba a drugi zachowujemy na dysku. Za pomocą takiej, szybkiej i krótkiej akcji możemy bezproblemowo logować się do GitHub z konsoli i działać na projektach bez ponownego logowania.
Poniżej postaram wyjaśnić się w najprostszy sposób jak to zrobić. W moim wypadku wszystkie akcje wykonuję pod systemem Windows 10.
Generowanie klucza SSH
Wraz z instalacją Gita, powinna doinstalować się dodatkowa powłoka bash. Posiada ona wsparcie kilku programów, które znajdziemy na systemach Linuxowych.
Uruchamiając taką konsolę lub w CMD wpisując bash
otwiera nam się dostęp do dodatkowej konsoli.
- W tym kroku wykonujemy polecenie:
ssh-keygen -t rsa -b 4096 -C "twoj_email@domena.com"
- Teraz zostaniemy poproszenie o wskazanie lokalizacji zapisania klucza:
Enter a file in which to save the key (/c/Users/Twoj_login/.ssh/id_rsa):
Najlepiej jeżeli wciśniemy Enter bez podawania lokalizacji i zostawimy to pole puste. Klucz zostanie wygenerowany w domyślnej lokalizacji jaką jest c/Users/<Twoj_login>/.ssh/id_rsa
- W ostatnim kroku generator zapyta nas o passphrase czyli hasło szyfrujące klucz, nie musimy go podawać. Natomiast jeżeli je wpiszemy to przy, każdej próbie połączenia będziemy musieli je podać (chyba że dodamy passphrase do ssh-agenta, ale to poniżej).
Enter passphrase (empty for no passphrase): * Enter same passphrase again: *
*Hasło, które będziemy wpisywać będzie niewidoczne.
Całość powinna wyglądać tak
Dodanie klucza SSH do ssh-agent
Teraz powinniśmy dodać nasz nowo utworzony klucz do agenta SSH. Jeżeli używamy Git Bash to agent powinien być uruchomiony, jeżeli natomiast nie jest możemy użyć polecenia w konsoli.
eval $(ssh-agent -s)
Dodawanie klucza jest proste, wystarczy wydać polecenie (gdzie ~/.ssh/id_rsa to lokalizacja klucza)
ssh-add ~/.ssh/id_rsa
Dodanie klucza SSH do konta GitHub
Nasz nowo wygenerowany klucz, po poprawnym zapisaniu powinien pojawić się pod podobną lokalizacją co u mnie. W moim przypadku jest to: C:\Users\patryk\.ssh\
- Otwieramy plik id_rsa.pub zwykłym edytorem tekstu (notepad, notatnik, itp) i kopiujemy jego całą zawartość.
- Przechodzimy na stronę https://github.com/settings/keys lub wybieramy ręcznie z ustawień:
- Ostatnim krokiem jest dodanie i zapisanie nowego klucza SSH, wybierając 'New SSH key’. Pokaże nam się pole 'Title’ oraz 'Key’. W pierwsze wpisujemy nazwę, a w drugie wklejamy nasz klucz ze schowka. Na końcu za pomocą przycisku 'Add SSH key’ zapisujemy klucz (możemy zostać poproszeni o podanie hasła logowania do naszego konta na GitHub).
Testy!
Krótki test naszego połączenia:
ssh -T git@github.com
W odpowiedzi powinniśmy otrzymać
Hi islandia18! You've successfully authenticated, but GitHub does not provide shell access.
I to by było na tyle, jeżeli chodzi o używanie kluczy SSH w GitHub. Jeżeli artykuł się przydał to możesz go udostępnić lub zostawić komentarz. Jeżeli jednak w artykule jest błąd lub coś jest nie jasne to również zapraszam do zostawienia komentarza 😉
Pozdrawiam!