===== Klucze SSH ===== **Klucz SSH** to para kryptograficznych plików: * **Klucz prywatny** (''id_rsa'', ''id_ecdsa'' itp.) – przechowywany na urządzeniu lokalnym (komputer/laptop) * **Klucz publiczny** (''id_rsa.pub'') – umieszczany na urządzeniu zdalnym (np. [[hardware:raspberry_pi|Raspberry Pi]] z [[kategoria:linux:osmc|OSMC]]/Kodi) {{page>:szablon:gfx:serwer}} Parowanie odbywa się przez dodanie klucza publicznego klienta do pliku: ~/.ssh/authorized_keys na zdalnym urządzeniu. ==== Jak działa parowanie urządzeń? ==== 1. Klient generuje parę kluczy (np. ''ssh-keygen'') 2. Klucz publiczny zostaje skopiowany na urządzenie zdalne 3. Podczas połączenia: - klient przedstawia swój **klucz prywatny** - serwer sprawdza, czy odpowiada on **kluczowi publicznemu** w ''authorized_keys'' - jeśli tak – dostęp zostaje przyznany **bez podawania hasła** ==== Zalety logowania kluczem ==== * **Brak konieczności wpisywania hasła** * **Bezpieczniejsze** niż hasła tekstowe * Możliwość ograniczenia dostępu tylko do konkretnych urządzeń * Można przypisywać różne klucze różnym użytkownikom (audyt, kontrola) ==== Dobre praktyki ==== * Klucz prywatny chroniony hasłem (''ssh-keygen -p'') * Pliki kluczy mają odpowiednie uprawnienia: chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys chmod 600 ~/.ssh/id_rsa * Nigdy nie udostępniaj klucza prywatnego (''id_rsa'') – traktuj go jak hasło główne * Twórz osobny klucz dla każdego urządzenia, które się łączy ==== Lokalizacja kluczy ==== Na systemie Linux/macOS klucze zwykle znajdują się w katalogu: ~/.ssh/ Przykładowe pliki: * ''id_rsa'' – klucz prywatny * ''id_rsa.pub'' – klucz publiczny * ''authorized_keys'' – klucze publiczne dopuszczone do logowania (na serwerze) * ''known_hosts'' – znane klucze hostów zdalnych (na kliencie) ==== Usuwanie klucza z różnych urządzeń ==== === 1. Usuwanie klucza publicznego z serwera (np. OSMC/Kodi) === Klucze publiczne klientów przechowywane są na urządzeniu zdalnym w pliku: ~/.ssh/authorized_keys Aby usunąć dostęp konkretnego klienta: nano ~/.ssh/authorized_keys Usuń linię zawierającą jego klucz publiczny (rozpoznasz po e-mailu, hostname lub skrócie). Aby usunąć **wszystkie** klucze: > ~/.ssh/authorized_keys lub: rm ~/.ssh/authorized_keys === 2. Usuwanie klucza prywatnego z komputera/laptopa (klienta) === Klucze prywatne przechowywane są lokalnie, zwykle w katalogu: ~/.ssh/ Aby usunąć wybrany klucz: rm ~/.ssh/id_rsa rm ~/.ssh/id_rsa.pub (uwaga: może mieć inną nazwę, np. ''id_ed25519'', ''osmc_rsa'' itp.) Jeśli klucz był wpisany w ''~/.ssh/config'', usuń również jego wpis lub zmień konfigurację. === 3. Usuwanie starego wpisu hosta z known_hosts === Jeśli urządzenie (np. Raspberry Pi) zostało zreinstalowane, jego nowy klucz hosta będzie się różnił, co powoduje błąd przy łączeniu. Usuń wtedy wpis z pliku: ~/.ssh/known_hosts Szybko, automatycznie: ssh-keygen -R 192.168.1.100 lub: ssh-keygen -R hostname Alternatywnie edytuj ręcznie: nano ~/.ssh/known_hosts Usuń linię odpowiadającą danemu hostowi. === 4. Usuwanie kluczy z urządzenia mobilnego (np. Termux) === * Wejdź do katalogu ''~/.ssh/'' * Użyj ''rm id_rsa id_rsa.pub'' lub ''rm -r ~/.ssh'' (usuwa cały katalog) === 5. Dobre praktyki przy usuwaniu kluczy === * Zawsze wykonaj kopię zapasową, jeśli nie jesteś pewna/y, czy dany klucz będzie jeszcze potrzebny. * Utrzymuj porządek w plikach: podpisuj klucze (np. ''osmc_rpi.pub'') i używaj komentarzy w ''authorized_keys''. * W przypadku podejrzenia, że klucz mógł być ujawniony — **natychmiast usuń** go z ''authorized_keys'' i wygeneruj nową parę. {{page>:szablony:more}} {{indexmenu>:serwery#1}} {{pagebox>:pagebox:kategorie}}