Jak zainstalować i skonfigurować SSH
Instalacja i zabezpieczenie SSH na AlexHost VPS: Konfiguracja Zero-Trust w 2025 roku
SSH = jedyne drzwi do serwera. Błędna konfiguracja = włamanie w <5 minut. VPS AlexHost z NVMe i ochroną DDoS zapewnia dostęp do roota, port 1 Gbps – idealny dla wzmocnionego SSH. W tym artykule przeprowadzimy Cię przez proces instalacji i konfiguracji SSH w systemie Linux, obejmujący podstawy, opcje konfiguracji i zalecenia dotyczące bezpieczeństwa.
Co to jest SSH?
SSH to skrót od Secure Shell i pozwala użytkownikom bezpiecznie łączyć się ze zdalnym systemem za pośrednictwem interfejsu wiersza poleceń. Protokół szyfruje dane między klientem a serwerem, dzięki czemu jest to bezpieczna metoda komunikacji, szczególnie w przypadku uzyskiwania dostępu do serwerów za pośrednictwem niezabezpieczonej sieci, takiej jak Internet. SSH domyślnie działa na porcie 22 i może być używany do
- Zdalnego logowania do serwerów
- Bezpieczny transfer plików (przy użyciu SCP lub SFTP)
- Zdalnego wykonywania poleceń
- Przekierowanie portów i tunelowanie
Krok 1: Instalacja SSH
Większość dystrybucji Linuksa jest dostarczana z preinstalowanym SSH, ale jeśli nie jest zainstalowany, można go łatwo zainstalować za pomocą menedżera pakietów dla danej dystrybucji
Dla Ubuntu/Debian:
Dla CentOS/RHEL:
Dla Fedory:
Dla Arch Linux:
Po instalacji będziesz mieć zainstalowany serwer i klienta OpenSSH, co pozwoli ci zarówno uruchomić serwer SSH, jak i połączyć się z innymi serwerami SSH
Krok 2: Uruchamianie i włączanie usługi SSH
Po zainstalowaniu należy uruchomić usługę SSH (znaną również jako sshd – demon SSH) i włączyć jej działanie podczas uruchamiania systemu
Uruchamianie usługi SSH:
Włączenie uruchamiania SSH przy starcie systemu:
Możesz sprawdzić, czy SSH działa poprawnie, wpisując
Jeśli usługa jest uruchomiona, zobaczysz aktywny status wskazujący, że SSH jest gotowe do przyjmowania połączeń
Krok 3: Podstawowa konfiguracja SSH
Zachowanie SSH jest kontrolowane przez plik konfiguracyjny znajdujący się pod adresem
Możesz edytować ten plik, aby zmodyfikować ustawienia SSH, takie jak zmiana domyślnego portu, wyłączenie logowania roota lub skonfigurowanie uwierzytelniania opartego na kluczach. Aby edytować plik, użyj edytora tekstu, takiego jak nano lub vim
Niektóre typowe zmiany konfiguracji obejmują
1. Zmiana domyślnego portu SSH
Ze względów bezpieczeństwa warto zmienić domyślny port SSH z 22 na inny. Pomaga to zmniejszyć ryzyko zautomatyzowanych ataków, których celem jest domyślny port SSH. Znajdź następującą linię w pliku konfiguracyjnym
Usuń komentarz i zmień numer portu
Po zapisaniu pliku uruchom ponownie usługę SSH, aby zastosować zmiany
Pamiętaj, aby zaktualizować reguły zapory sieciowej, aby zezwalać na połączenia na nowym porcie
2. Wyłącz logowanie roota
Zezwolenie na logowanie roota przez SSH stanowi zagrożenie dla bezpieczeństwa. Aby temu zapobiec, znajdź następującą linię w pliku konfiguracyjnym
Zmień ją na
Zapobiegnie to bezpośredniemu dostępowi roota przez SSH. Użytkownicy mogą nadal logować się za pomocą zwykłego konta, a następnie przełączać się na roota za pomocą sudo lub su
3. Włącz uwierzytelnianie oparte na kluczach
Uwierzytelnianie oparte na kluczach SSH jest bezpieczniejszą metodą niż używanie haseł. Polega ona na wygenerowaniu pary kluczy SSH (klucza publicznego i prywatnego) i użyciu klucza prywatnego do uwierzytelnienia. Aby wymusić uwierzytelnianie oparte na kluczach, znajdź następujące wiersze i upewnij się, że są ustawione na tak
Wyłącza to logowanie oparte na haśle i umożliwia dostęp do SSH tylko poprzez uwierzytelnianie oparte na kluczach
Krok 4: Generowanie kluczy SSH (uwierzytelnianie oparte na kluczach)
Pary kluczy SSH zapewniają bezpieczny sposób logowania bez hasła. Oto jak wygenerować i skonfigurować klucze SSH
Krok 1: Generowanie pary kluczy SSH
Na komputerze lokalnym uruchom następujące polecenie, aby wygenerować parę kluczy
Zostaniesz poproszony o wprowadzenie nazwy pliku do zapisania klucza (lub naciśnij Enter, aby użyć domyślnej lokalizacji) i opcjonalnego hasła dla dodatkowego bezpieczeństwa. Spowoduje to utworzenie dwóch plików
- ~/.ssh/id_rsa: Twój klucz prywatny (przechowuj go bezpiecznie i nie udostępniaj).
- ~/.ssh/id_rsa.pub: Twój klucz publiczny (może być udostępniany i dodawany do zdalnych serwerów).
Krok 2: Skopiuj klucz publiczny na serwer
Aby użyć klucza do logowania SSH, skopiuj klucz publiczny na zdalny serwer, do którego chcesz uzyskać dostęp. Można to zrobić za pomocą polecenia ssh-copy-id
Zastąp username nazwą użytkownika zdalnego serwera, a remote_host adresem IP lub nazwą hosta serwera. Spowoduje to skopiowanie klucza publicznego na serwer i dodanie go do pliku ~/.ssh/authorized_keys, umożliwiając logowanie bez hasła
Krok 3: Logowanie przy użyciu klucza SSH
Teraz można zalogować się do zdalnego serwera przy użyciu klucza prywatnego
Jeśli ustawiłeś niestandardowy port, określ go za pomocą opcji -p
Krok 5: Zabezpieczenie konfiguracji SSH
Po skonfigurowaniu SSH ważne jest, aby przestrzegać najlepszych praktyk bezpieczeństwa, aby zapewnić, że serwer jest chroniony przed nieautoryzowanym dostępem
1. Używaj silnych haseł (jeśli używasz uwierzytelniania hasłem)
Jeśli nie korzystasz z uwierzytelniania opartego na kluczach, upewnij się, że wszystkie konta użytkowników używają silnych, złożonych haseł
2. Używanie zapory sieciowej
Upewnij się, że zapora serwera zezwala na ruch tylko na używanym porcie SSH. Na przykład, jeśli zmieniłeś SSH na port 2222, zezwól na ruch na tym porcie za pomocą ufw (w Ubuntu/Debian) lub firewalld (w CentOS/RHEL)
3. Ograniczanie dostępu SSH
Ogranicz dostęp SSH do określonych adresów IP lub zakresów, konfigurując zaporę sieciową lub używając /etc/hosts.allow i /etc/hosts.deny
Krok 6: Testowanie i rozwiązywanie problemów z SSH
Po skonfigurowaniu SSH ważne jest, aby przetestować konfigurację. Spróbuj zalogować się za pomocą SSH, aby upewnić się, że wszystko działa poprawnie
Typowe wskazówki dotyczące rozwiązywania problemów z SSH:
- Sprawdź ustawienia zapory sieciowej: Upewnij się, że zapora sieciowa nie blokuje portu SSH.
- Sprawdź status usługi SSH: Upewnij się, że usługa SSH jest uruchomiona za pomocą systemctl status ssh.
- Weryfikacja konfiguracji: Podwójne sprawdzenie pliku /etc/ssh/sshd_config pod kątem wszelkich błędnych konfiguracji.
- Użyj trybu Verbose do debugowania: Jeśli występują problemy, użyj opcji -v podczas łączenia, aby zobaczyć szczegółowe dane wyjściowe:
Podsumowanie
Instalacja i konfiguracja SSH jest podstawową umiejętnością dla każdego administratora lub użytkownika Linuksa, który musi bezpiecznie zarządzać zdalnymi systemami. Postępując zgodnie z tym przewodnikiem, można skonfigurować SSH, skonfigurować go do bezpiecznego dostępu i wdrożyć najlepsze praktyki w celu ochrony serwera przed nieautoryzowanym dostępem. Po skonfigurowaniu SSH staje się potężnym narzędziem do zdalnego zarządzania, automatyzacji i bezpiecznej komunikacji między systemami.


