Podstawy bezpiecznej powłoki (SSH)
Nauczy się Pan/Pani bezpiecznie łączyć ze zdalnymi maszynami z systemem Linux, w tym korzystać z uwierzytelniania za pomocą kluczy i konfigurować klienta SSH.
Podstawy bezpiecznej powłoki (SSH) to bezpłatna lekcja Linux Command Line & Bash Scripting Mastery na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Linux Command Line & Bash Scripting Mastery, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Linux Command Line & Bash Scripting Mastery zawiera 4 lekcji w sumie.
Czym jest Secure Shell (SSH)?
Witamy w podstawach Secure Shell (SSH)! SSH to zaawansowany protokół sieciowy, który umożliwia bezpieczne łączenie się ze zdalnym komputerem za pośrednictwem niezabezpieczonej sieci.
Można wyobrazić go sobie jako bezpieczny tunel dla poleceń i danych. Jest niezbędny do zarządzania serwerami Linux, instancjami w chmurze, a nawet zdalnego uzyskiwania dostępu do własnego środowiska programistycznego.
Dlaczego warto używać SSH? Bezpieczeństwo przede wszystkim!
Przed powstaniem SSH połączenia zdalne często nie były szyfrowane, więc każdy mógł przechwycić hasła i dane. SSH rozwiązuje ten problem dzięki silnemu szyfrowaniu.
- Poufność: dane są szyfrowane i niewidoczne dla osób postronnych.
- Integralność: zapewnia, że dane nie zostaną zmodyfikowane podczas przesyłania.
- Uwierzytelnianie: weryfikuje tożsamość zarówno klienta, jak i serwera.
SSH jest branżowym standardem zdalnej administracji.
SSH: model klient-serwer
SSH działa w modelu klient-serwer. Użytkownik uruchamia klienta SSH na komputerze lokalnym. Klient łączy się z serwerem SSH (często nazywanym `sshd`) działającym na komputerze zdalnym.
Po zainicjowaniu połączenia klient i serwer wykonują „uzgadnianie”, aby ustanowić bezpieczny, szyfrowany kanał przed rozpoczęciem wymiany danych.
Podstawowe polecenie połączenia SSH
Najbardziej podstawowym sposobem połączenia ze zdalnym serwerem za pośrednictwem SSH jest użycie polecenia ssh wraz z nazwą użytkownika i hostem (adresem IP lub nazwą hosta).
Format polecenia to ssh username@hostname_or_IP. Aby na przykład połączyć się z serwerem o adresie 192.168.1.100 jako użytkownik coddy:
ssh coddy@192.168.1.100Pierwsze połączenie i odciski kluczy
Przy pierwszym połączeniu z nowym serwerem SSH poprosi o weryfikację „odcisku klucza” serwera. Jest to unikatowy identyfikator, który pomaga zapobiegać atakom typu „man-in-the-middle”.
Jeśli to możliwe, zawsze należy zweryfikować odcisk klucza, na przykład pytając administratora serwera. Jeśli się zgadza, wpisz yes, aby dodać serwer do pliku ~/.ssh/known_hosts.
Port SSH i niestandardowe porty
Domyślnie SSH korzysta z portu TCP 22. Jednak ze względów bezpieczeństwa administratorzy serwerów często konfigurują SSH tak, aby nasłuchiwało na innym, niestandardowym porcie.
Jeśli zdalny serwer korzysta z niestandardowego portu (np. 2222), można go określić za pomocą opcji -p:
ssh -p 2222 coddy@myremoteserver.comWprowadzenie do uwierzytelniania za pomocą kluczy
Uwierzytelnianie za pomocą hasła działa, ale uwierzytelnianie SSH oparte na kluczach jest znacznie bezpieczniejsze i wygodniejsze. Wykorzystuje parę kluczy kryptograficznych:
- Klucz publiczny: przechowywany na zdalnym serwerze.
- Klucz prywatny: bezpiecznie przechowywany na komputerze lokalnym.
Podczas łączenia serwer wysyła klientowi wyzwanie, a klient używa klucza prywatnego do potwierdzenia swojej tożsamości, bez przesyłania klucza prywatnego przez sieć.
Generowanie par kluczy SSH
Parę kluczy SSH można wygenerować za pomocą polecenia ssh-keygen. Polecenie poprosi o podanie lokalizacji zapisu kluczy (domyślnie ~/.ssh/id_rsa) oraz opcjonalnego hasła.
Hasło zapewnia dodatkową warstwę ochrony klucza prywatnego. Zdecydowanie zalecamy jego użycie!
ssh-keygen -t rsa -b 4096Kopiowanie klucza publicznego
Po utworzeniu pary kluczy należy skopiować klucz publiczny na zdalny serwer. Najłatwiej zrobić to za pomocą polecenia ssh-copy-id. Polecenie loguje się początkowo na zdalnym serwerze przy użyciu hasła i dodaje klucz publiczny do pliku ~/.ssh/authorized_keys.
Od tej pory można łączyć się za pomocą klucza zamiast hasła!
ssh-copy-id coddy@myremoteserver.comSzybkie sprawdzenie: podstawy SSH
Które z poniższych stwierdzeń dotyczących SSH są prawdziwe?
Podsumowanie: podstawy SSH
W tej lekcji poznali Państwo podstawy Secure Shell (SSH)!
- SSH zapewnia bezpieczny, szyfrowany dostęp zdalny.
- Działa w modelu klient-serwer i standardowo korzysta z portu 22.
- Można łączyć się za pomocą
ssh user@host. - Uwierzytelnianie oparte na kluczach publicznych i prywatnych (generowanych za pomocą
ssh-keygeni kopiowanych przy użyciussh-copy-id) zapewnia większe bezpieczeństwo niż hasła.
W następnej części poznamy jeszcze bardziej zaawansowane polecenia sieciowe i narzędzia do przesyłania plików!
Często zadawane pytania
Czy lekcja „Podstawy bezpiecznej powłoki (SSH)” jest bezpłatna?
Tak — pełny tekst „Podstawy bezpiecznej powłoki (SSH)” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Linux Command Line & Bash Scripting Mastery, przejdź na CoddyKit PRO. Kurs Linux Command Line & Bash Scripting Mastery zawiera 4 lekcji w sumie.
Co nauczysz się w „Podstawy bezpiecznej powłoki (SSH)”?
Nauczy się Pan/Pani bezpiecznie łączyć ze zdalnymi maszynami z systemem Linux, w tym korzystać z uwierzytelniania za pomocą kluczy i konfigurować klienta SSH. Ćwiczysz Linux Command Line & Bash Scripting Mastery z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Linux Command Line & Bash Scripting Mastery?
Nie wymagamy żadnego doświadczenia. Linux Command Line & Bash Scripting Mastery w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Podstawy bezpiecznej powłoki (SSH)”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Linux Command Line & Bash Scripting Mastery?
Tak. Każda lekcja Linux Command Line & Bash Scripting Mastery zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Podstawowe narzędzia sieciowe (ping, ip, netstat)
- Podstawy bezpiecznej powłoki (SSH)
- SCP i Rsync do przesyłania plików
- Uwierzytelnianie SSH za pomocą kluczy i plik konfiguracyjny