Spis treści:
Zawsze mówimy, żeby wybierać długie, trudne do złamania hasło dla wszystkich kont. Jak możemy zalogować się do Raspberry Pi bez jego wprowadzania wykorzystując SSH (Secure Shell)?
Hasła nie są najbezpieczniejszą metodą logowania. Mogą zostać odgadnięte lub złamane przez wykorzystanie miliona kombinacji słów lub powszechnych haseł. Istnije lepsza metoda skutecznej ochrony konta – używa ona tajników, które zna tylko Raspberry Pi i komputer, przez który się logujesz dzięki odpowiednim certyfikatom.
Raspberry Pi – login i klucze
Potrzebne nam będzie narzędzie do generowania prywatnej/publicznej pary kluczy na Twoim komputerze, z którego zamierzasz się logować. Klucz prywatny musisz zachować w tajemnicy i nikomu go nie udostępniać. Jednak klucz publiczny możesz powierzyć komu tylko chcesz, jest on bezużyteczny bez klucza prywatnego.
Raspberry Pi – puTTy
Jest wiele różnych możliwości generowania pary kluczy. Popularną aplikacją stworzoną do tego celu jest puTTygen. Jest częścią aplikacji SSH puTTy i klienta Telnet dla systemu Windows. Możesz ją pobrać z https://www.putty.org/
Generowanie pary kluczy
Kiedy zainstalujesz aplikację, uruchom puTTygen. Wyświetli się prosty ekran:
Nie wybiera typu RSA, nie jest on bezpieczny. Wybierz typ ED25519 i kliknij przycisk Generate. Zostaniesz poproszony o przeniesienie kursora myszy w pustą stronę okna. Da to programowi “entropię” lub “losowość”, która jest wymagana do wygenerowania dobrego klucza prywatnego.
Nie wpisuj hasła (Key passphare). Jeśli to zrobisz, będziesz o to proszony za każdym razem, gdy spróbujesz się zalogować do Raspberry Pi.
Może być użyteczna edycja komentarza klucza, zmień go na nazwę swojego komputera PC, z którego się logujesz
Zapisz te dwa klucze (publiczny i prywatny) do plików na Twoim komputerze, nazywając je odpowiednio “myssh.pub” i “myssh.ppk”. Pamiętaj żeby trzymać bezpiecznie klucz prywatny i utworzyć kopię zapasową preferowanych haseł.
Teraz zainstaluj publiczny klucz na swoim Raspberry Pi i klucz prywatny na kliencie SSH na Twoim komputerze PC.
Instalacja klucza publicznego
Teraz zaloguj się do swojego Raspberry Pi używając swojej obecnej preferowanej metody, SSH lub hasłem, czy VNC. Owtórz okno terminala i utwórz nowy folder:
cd ~
mkdir .ssh
cd ~/.ssh
Następnie należy utworzyć nowy autoryzowany plik klucza i skopiować do niego klucz publiczny, znajduje się on w górnym polu okna puTTygen:
Utwórz i edytuj plik za pomocą:
nano ~/.ssh/authorized_keys
Skopiuj i wklej klucz publiczny do tego pliku i zamknij go po zapisaniu, naciskając Ctrl+X, odpowiadając “Y” na żądanie zapisania i naciskając klawisz powrotu.
Jeśli chcesz uzyskać dostęp do swojego Raspberry Pi z innych komputerów, możesz dodać więcej niż jeden klucz publiczny do pliku authorized_keys.
Konfigurowanie klienta SSH
Otwórz program RPI PuTTy. Zostanie wyświetlona lista zapisanych sesji lub komputerów, które wcześniej zapisałeś:
Wpisz nazwę hosta lub adres IP Raspberry Pi, do którego chcesz się logować w sekcji “Host Name”, pozostaw port 22 i typ połączenia SSH.
Przejdź do podkategorii Data w kategorii Connection. Wprowadź “pi” w sekcji “Auto-login username”:
Rozwiń listę kategorii SSH klikając “+” po lewej stronie:
Wybierz “Auth”:
Wprowadź ścieżkę dostępu do pliku z Twoim kluczem prywatnym lub kliknij Browse i wybierz plik .ppk zapisany w PuTTygen.
Wróć do okna sesji wybierając “Session” na górze listy. Wprowadź nazwę Raspberry Pi w sekcji “Saved Sessions” i kliknij “Save”.
Teraz kliknij “Open”. Otworzy się okno terminala Twojego Raspberry Pi, na którym jesteś zalogowany.
Kończenie konfiguracji
Kiedy już przetestowałeś logowanie się przy użyciu pary kluczy, możesz wyłączyć logowanie się przy pomocy nazwy użytkownika i hasła.
“ssh daemon” to usługa na Raspberry Pi umożliwiająca logowanie się używając SSH, potrzebna do zatrzymania pytania o hasło i nazwę użytkownika. W tym celu należy edytować plik sshd_config:
sudo nano /etc/ssh/sshd_config
Edytuj linię “PasswordAuthentication” przez odkomentowanie jej (usuń znaczek #) i zmień opcję z “yes” na “no”
PasswordAuthentication no
Teraz należy zresetować usługę “ssh daemon” poprzez zresetowanie Raspberry Pi:
sudo reboot
Ochrona pliku “authorized_keys”
Jeżeli inny użytkownicy, którzy mają konta na Raspberry Pi inne niż “pi”, mogą być w stanie wyświetlić plik “authorized_keys”. Dlatego dobrą praktyką jest ochrona pliku przed wszystkimi użytkownikami oprócz “pi”, pozwalając tylko jemu na jego podgląd i edycję.
Wpisz następujące polecenie do terminala:
chmod 700 ~/.ssh/authorized_keys
Wniosek
Teraz za każdym razem, gdy używasz PuTTy do logowania się do Raspberry Pi, dostaniesz się do niego bez podawania hasła.
Można również wykorzystać do logowania na Raspberry Pi HTTPS, który to pozwala na zaszyfrowane połączenie za po pomocą protokołu SSL.
Zobacz również nasz poradnik “Jak zablokować ekran na Raspberry Pi“.
Jak oceniasz ten wpis blogowy?
Kliknij gwiazdkę, aby go ocenić!
Średnia ocena: 5 / 5. Liczba głosów: 2
Jak dotąd brak głosów! Bądź pierwszą osobą, która oceni ten wpis.