Wstęp

Opis jest odzwierciedleniem realnie, wielokrotnie przeprowadzonych instalacji. Nie jest opisem, jakich można wiele znaleźć w wyszukiwarkach, robionym na zasadzie Ctrl+C, Ctrl+V. Każdy etap i każda procedura lub komenda zostały wielokroć sprawdzone osobiście przez autora.

Rozwiązania przedstawione w odniesieniu do Raspberry Pi bazują na Ubuntu Server LTS, a nie na Raspberry Pi OS. Podobieństwo tych platform jest duże lecz do poważnych rozwiązań zdecydowanie lepszym jest jednak prawdziwa wersja serwerowa z długim wsparciem. Ponadto Ubuntu Server jest w stabilnej wersji 64 bitowej, Raspberry Pi OS jeszcze nie.

Niezbędne

Raspberry Pi 4B 4GB lub 8GB RAM, można użyć np. Raspbery Pi 3B+ z 1 GB RAM, choć responsywność tego ostatniego serwera, ze względu na znaczące różnice sprzętowe pomiędzy wersją 3 i 4, będzie czasem nużąca. Aby móc zdalnie, bez ponieczności podłączania monitora czy klawiatury do Raspberry Pi, proponuję zainstalowanie klienta, m.in. ssh jakim jest program PuTTy. Wszelkie przykłady i rozwiązania dotyczące połączeń ssh w tym opisie zostały oparte na tym oprogramowaniu.

Spod tego adresu należy pobrać plik obrazu systemu Ubuntu Server dla komputerów Raspberry Pi. Jest to obraz systemu bez zbędnych dodatków, jak np. pulpit. Proponuję wybrać wersję LTS dla procesorów 64 bitowych jeżeli mamy 4 lub 8 GB pamięci RAM lub wersję LTS 32 bitową dla mniejszej ilości pamięci RAM.

Przygotowanie karty mikroSD

Na karcie mikroSD za pomocą otwarto źródłowego narzędzia Balena Ether – odpowiedniego dla systemu na naszym komputerze zapisujemy pobrany obraz. Karta może mieć pojemność 16 lub 32 GB. Można tu użyć dedykowanego programu Raspberry Pi Imager lecz wg mnie balenaEther jest zdecydowanie szybsza.

Podstawowe okno programu Balena Etcher

Najpierw wybieramy obraz jaki chcemy nagrać.

Wybór pliku obrazu do nagrania

Po wybraniu pliku obrazu do nagrania wskazujemy, gdzie ma być on nagrany.

Wybór miejsca gdzie ma być nagrany wybrany obraz

Na pierwszym etapie balenaEtcher rozpakowuje plik z obrazem.

Rozpakowywanie pliku z obrazem

Następnie zapisuje obraz na wskazanym dysku (karcie pamięci).

Zapis obrazu, a właściwie obrazów dwóch partycji. Partycji boot i partycji root.

Po zapisaniu następuje weryfikacja poprawności zapisu.

Sprawdzenie poprawności zapisu na karcie SD

Pierwsze uruchomienie

Wkładamy kartę do Raspberry Pi i podłączamy zasilacz. Po ok. minucie serwer podłączony kablem ethernetowym do routera (zainstalowany system ma włączonego klienta DHCP i będzie się starał pobrać adres z serwera DHCP). Poprzez połączenie się z routerem uzyskamy adres na jakim pracuje nasz serwer. Wersja Ubuntu Server 20.04 LTS ma od razu zainstalowany i uruchomiony serwer ssh.

Pierwsze połączenie po ssh

Z pomocą PuTTy łączymy się z serwerem.

W Host Name (or IP address) – wpisujemy odczytany z routera adres naszego serwera,

Port pozostaje oczywiście 22 i zaznaczamy SSH, klikamy Open.

Ukazuje się okienko przed połączeniem w którym wybieramy Yes.

Standardowe ostrzeżenie PuTTy przed nowym połączeniem

Kolejne okienko jest już tym właściwym, w którym wpisujemy nazwę użytkownika czyli ubuntu i enter

Pierwsze logowanie poprzez ssh w Ubuntu

oraz hasło ubuntu. Użytkownik ubuntu to domyślny i jedyny, poza użytkownikiem root. Dlatego, zaraz po zalogowaniu system wymusza zmianę hasła z domyślnego.

Zmiana domyślnego hasła użytkownika ubuntu

Po dokonaniu zmiany hasła domyślnego następuje automatyczne wylogowanie użytkownika i tym samym zamknięcie okna konsoli ssh.

Zmiana użytkownika

Pierwszą rzeczą jaką powinniśmy zrobić to dodanie nowego użytkownika i usunięcie użytkownika ubuntu. Działanie to ma na celu uzyskanie większego bezpieczeństwa serwera.

Wpisujemy:

sudo adduser <user_name>

Oczywiście <user_name> zastępujemy nazwą nowego użytkownika; zostaniemy dwukrotnie zapytani o hasło dla nowego użytkownika. W przypadku pomyłki nowy użytkownik nie zostanie stworzony. Dodatkowe pytania o adres itp. można pominąć wciskając enter.

Teraz musimy nowego użytkownika dodać do grupy suoders:

sudo usermod -G sudo <user_name>

Spowoduje to, że będzie mógł on nabierać praw roota.

UWAGA: bez powyższego kroku nie można przejść do następnych. Pominięcie go spowoduje, że po usunięciu domyślnego użytkownika ubuntu, stracimy możliwość wykonywania działań jako użytkownik root.

Uaktualnienie Ubuntu Server

Następnie wylogowujemy się z konta użytkownika pi i logujemy się już jako nowo stworzony użytkownik. Sprawdzamy czy na pewno działa przypisanie do grupy suoders wydając polecenie:

sudo apt update && sudo apt upgrade -y

Nastąpi uaktualnienie zainstalowanego systemu serwera o najnowsze pakiety. Może to potrwać kilka minut do nawet półgodziny – zależne od szybkości naszego serwera i ilości aktualizowanych pakietów. Zostaje nam jeszcze zrestartowanie systemu, bo niekiedy są aktualizowane te jego elementy, które tego wymagają. Robimy:

sudo reboot

System wstaje po około pół minucie i jest już zaktualizowany. W ten sam sposób winniśmy robić aktualizację regularnie. Systemy oparte na Linuksie, jak Ubuntu, korzystają z repozytoriów, które serwują zawsze najnowsze wersje zainstalowanego poleceniem apt, oprogramowania.

Usunięcie domyślnego użytkownika

Pewni, że nasz nowy użytkownik należy do grupy souders możemy śmiało usunąć domyślnego użytkownika, wraz z jego katalogiem domowym. Robimy więc tak:

sudo deluser --remove-home ubuntu

System zamelduje o wykonanym zadaniu.

Logowanie za pomocą klucza RSA

Dla wygody, możemy uprości sobie logowanie się za pomocą ssh do systemu. Pomocny tu będzie kolejny raz program – kombajn PuTTy. Posiada on w swoim składzie PuTTy Key Generator .

Zaznaczamy RSA oraz wpisujemy 4096 jako długość klucza, po czym klikamy Generate i poruszamy myszką w polu generatora, aby dostarczyć losowych danych do tworzenia klucza. Po zakończeniu powinniśmy zapisać klucz prywatny w szczególnym miejscu i pod oczywistą nazwą.

Zapisany klucz wczytujemy Load , może to chwilkę potrwać, a szereg znaków zaczynających się od sha-rsa, a kończących się datą jako szereg cyfr kopiujemy do schowka.

w otwartym w dalszym ciągu okienku ssh wpisujemy:

sudo mkdir /home/<user_name>/.ssh

(tak <user_name> to nazwa naszego nowego użytkownika) tworzymy w ten sposób katalog .ssh (kropka na końcu oznacza katalog lub plik ukryty)

Kolejno wpisujemy :

sudo nano /home/<user_name>/.ssh/authorized_keys

Nano to standardowy edytor. Gdy pojawi się czarny ekran w okienku edytora, winniśmy skopiowany klucz przenieść właśnie tam. Jak? W trochę zapomniany sposób. Klikamy na środek okienka edytora i wciskamy Shift+Ins lub drugi sposób, na środku okienka edytora klikamy prawym klawiszem myszki. Mamy wklejony szereg znaków. Wciskamy Ctrl+x, mamy zapytanie na które w odpowiedzi wciskamy y i enter. Mamy zmieniony plik authorized_keys. On pozwoli nam na logowanie się bez hasła. Ale …

W PuTTy (Configuration) musimy utworzyć nowe połączenie:

Host Name (IP Adrress) wpisujemy nazwę tego połączenia, może być np. www a w okienku Category -> Connection -> SSH -> Auth wybieramy Browse ... plik, który uprzednio utworzyliśmy i zapisaliśmy w odpowiednim miejscu. Chwilę potrwa jak wczyta się plik, a my przechodzimy ponownie w górę drzewa, aby kliknąć Session i następnie Save. Teraz ilekroć klikniemy w oknie Saved Sessions i Open zostaniemy przeniesieni do okienka ssh, gdzie będzie trzeba wpisać tylko nazwę użytkownika.

Serwer sprawdzi i porówna dwa klucze, ten podany przez PuTTy w trakcie łącznia i ten zapisany przez nas w pliku authorized_keys, w przypadku zgodności zestawi połączenie bez pytania o hasło.

Zmiana nazwy naszego serwera

Zmiany nazwy można dokonać na różne sposoby. Działającym zawsze jest sposób opisany poniżej.

Sprawdźmy czy zainstalowany jest:

systemb -version

W przypadku jego braku instalujemy go.

sudo apt install systemb

Teraz zmieniamy nazwę naszego serwera.

hostnamectl set-hostname <nowa_nazwa>

gdzie oczywiście <nowa_nazwa> zostaje zastąpiona wybraną przez nas nazwą naszego serwera.

Drobna uwaga

Proszę zwrócić uwagę, iż w przypadku nowo utworzonego użytkownika, za pierwszym razem i co jakiś czas, system pyta się o hasło użytkownika przy używaniu poleceń sudo. Przy standardowym użytkowniku system nie robi tego nigdy, gdyż wpis w:

/etc/suoders.d/90-cloud-init-users

nie zawiera wpisu o nowym użytkowniku, a jedynie o użytkowniku ubuntu w postaci

ubuntu ALL=(ALL) NOPASSWD: ALL

Taka polityka, wykonywania poleceń z uprawnieniami roota bez podawania hasła, źle wpływa na bezpieczeństwo serwera.

Podsumowanie

Odpowiednie przygotowanie serwera do pracy, zadbanie o podstawy bezpieczeństwa i higieny informatycznej bardzo się opłaca. Backup jest tą rzeczą, która bardzo pomaga, ale jednocześnie czymś z czego bardzo nie chcielibyśmy korzystać. Dlatego zadbanie o ww drobne szczegóły jest tak ważne. To by było na tyle w tym opisie. Zapraszam do innych.

Translate »
Ta strona korzysta z ciasteczek, aby świadczyć usługi na najwyższym poziomie. Dalsze korzystanie ze strony oznacza, że zgadzasz się na ich użycie. View more
Cookies settings
Zgoda
Odrzucam
Ciasteczka i polityka prywatności
Privacy & Cookies policy
Cookie name Active

Jakie dane osobiste zbieramy i dlaczego je zbieramy

Komentarze

Kiedy odwiedzający witrynę zostawia komentarz, zbieramy dane widoczne w formularzu komentowania, jak i adres IP odwiedzającego oraz podpis jego przeglądarki jako pomoc przy wykrywaniu spamu. Zanonimizowany ciąg znaków stworzony na podstawie twojego adresu email (tak zwany hash) może zostać przesłany do usługi Gravatar w celu sprawdzenia czy jej używasz. Polityka prywatności usługi Gravatar jest dostępna tutaj: https://automattic.com/privacy/. Po zatwierdzeniu komentarza twój obrazek profilowy jest widoczny publicznie w kontekście twojego komentarza.

Media

Jeśli jesteś zarejestrowanym użytkownikiem i wgrywasz na witrynę obrazki, powinieneś unikać przesyłania obrazków z tagami EXIF lokalizacji. Odwiedzający stronę mogą pobrać i odczytać pełne dane lokalizacyjne z obrazków w witrynie.

Formularze kontaktowe

Ciasteczka

Jeśli zostawisz na naszej witrynie komentarz, będziesz mógł wybrać opcję zapisu twojej nazwy, adresu e-mail i adresu strony internetowej w ciasteczkach, dzięki którym podczas pisania kolejnych komentarzy powyższe informacje będą już dogodnie uzupełnione. Te ciasteczka wygasają po tygodniu. Jeśli odwiedzisz stronę logowania, utworzymy tymczasowe ciasteczko na potrzeby sprawdzenia czy twoja przeglądarka akceptuje ciasteczka. To ciasteczko nie zawiera żadnych danych osobistych i zostanie wyrzucone, kiedy zamkniesz przeglądarkę. Podczas logowania tworzymy dodatkowo kilka ciasteczek potrzebnych do zapisu twoich informacji logowania oraz wybranych opcji ekranu. Ciasteczka logowania wygasają po dwóch dniach, a opcji ekranu po roku. Jeśli zaznaczysz opcję „Pamiętaj mnie”, logowanie wygaśnie po dwóch tygodniach. Gdy wylogujesz się ze swojego konta, ciasteczka logowania zostaną usunięte. W przypadku zmodyfikowania albo opublikowania artykułu, w twojej przeglądarce zostanie zapisane dodatkowe ciasteczko. To ciasteczko nie zawiera żadnych danych osobistych, wskazując po prostu na identyfikator przed chwilą edytowanego artykułu. Wygasa ono po 1 dniu.

Osadzone treści z innych witryn

Artykuły na tej witrynie mogą zawierać osadzone treści (np. filmy, obrazki, artykuły itp.). Osadzone treści z innych witryn zachowują się analogicznie do tego, jakby użytkownik odwiedził bezpośrednio konkretną witrynę. Witryny mogą zbierać informacje o tobie, używać ciasteczek, dołączać dodatkowe, zewnętrzne systemy śledzenia i monitorować twoje interakcje z osadzonym materiałem, włączając w to śledzenie twoich interakcji z osadzonym materiałem jeśli posiadasz konto i jesteś zalogowany w tamtej witrynie.

Analiza statystyk

Z kim dzielimy się danymi

Jak długo przechowujemy twoje dane

Jeśli zostawisz komentarz, jego treść i metadane będą przechowywane przez czas nieokreślony. Dzięki temu jesteśmy w stanie rozpoznawać i zatwierdzać kolejne komentarze automatycznie, bez wysyłania ich do każdorazowej moderacji. Dla użytkowników którzy zarejestrowali się na naszej stronie internetowej (jeśli tacy są), przechowujemy również informacje osobiste wprowadzone w profilu. Każdy użytkownik może dokonać wglądu, korekty albo skasować swoje informacje osobiste w dowolnej chwili (nie licząc nazwy użytkownika, której nie można zmienić). Administratorzy strony również mogą przeglądać i modyfikować te informacje.

Jakie masz prawa do swoich danych

Jeśli masz konto użytkownika albo dodałeś komentarze w tej witrynie, możesz zażądać dostarczenia pliku z wyeksportowanym kompletem twoich danych osobistych będących w naszym posiadaniu, w tym całość tych dostarczonych przez ciebie. Możesz również zażądać usunięcia przez nas całości twoich danych osobistych w naszym posiadaniu. Nie dotyczy to żadnych danych które jesteśmy zobligowani zachować ze względów administracyjnych, prawnych albo bezpieczeństwa.

Gdzie przesyłamy dane

Dane nigdzie nie są przesyłane i nigdzie nie są udostępniane. Komentarze gości mogą być sprawdzane za pomocą automatycznej usługi wykrywania spamu.
Save settings
Cookies settings