Polecenia SSH pozwalają bezpiecznie połączyć się z serwerem Linux i zarządzać nim ze swojego komputera. Niezależnie od tego, czy korzystasz z VPS, pracujesz z plikami strony internetowej, czy uczysz się administrowania systemem Linux, SSH to jedna z pierwszych umiejętności, które warto opanować.
Dobra wiadomość jest taka, że nie musisz zapamiętywać dziesiątek poleceń. Gdy zrozumiesz, jak łączyć się z serwerem i poruszać po jego systemie plików, wiele codziennych zadań stanie się prostych.
W tym poradniku SSH dla początkujących dowiesz się, jak nawiązać pierwsze połączenie, przeglądać katalogi w systemie Linux, tworzyć pliki i bezpiecznie zakończyć sesję.
Czym jest SSH?
SSH (Secure Shell) to protokół sieciowy zapewniający szyfrowaną komunikację między Twoim komputerem a zdalnym serwerem.
Zamiast korzystać z graficznego panelu sterowania serwerem, możesz zarządzać nim przez SSH za pomocą interfejsu wiersza poleceń, zwanego terminalem.
Za pomocą SSH możesz na przykład:
- Zarządzać plikami i katalogami strony internetowej.
- Instalować i aktualizować oprogramowanie.
- Sprawdzać zasoby serwera i dzienniki.
- Bezpiecznie przesyłać pliki.
- Konfigurować aplikacje i usługi.
Warto zrozumieć ważną różnicę: SSH służy do łączenia się z serwerem, a polecenia Linux pozwalają wykonywać zadania po nawiązaniu połączenia.
SSH jest powszechnie używany w przypadku wirtualnych serwerów prywatnych opartych na systemie Linux. Jeśli nie znasz jeszcze serwerów wirtualnych, nasz poradnik Czym jest hosting VPS? wyjaśnia, jak działają.
Czego potrzebujesz przed użyciem SSH?
Zanim nawiążesz połączenie, upewnij się, że masz:
- Adres IP serwera: Adres Twojego serwera Linux.
- Nazwę użytkownika SSH: Nazwę konta, do którego masz uprawniony dostęp.
- Dane uwierzytelniające: Hasło lub prywatny klucz SSH.
- Port SSH: Zwykle port 22, chyba że skonfigurowano inny.
- Klienta SSH: Aplikację terminalową umożliwiającą nawiązywanie połączeń SSH.
Linux i macOS mają wbudowane narzędzia SSH obsługiwane z wiersza poleceń. Windows 10 i 11 również obsługują OpenSSH przez PowerShell lub Windows Terminal, jeśli klient jest zainstalowany.
Na serwerze musi działać usługa SSH, a połączenia z Twojej sieci muszą być dozwolone.
Jak połączyć się z serwerem Linux przez SSH
Otwórz na komputerze Terminal, PowerShell lub Windows Terminal.
Wpisz następujące polecenie:
ssh username@203.0.113.10
Zastąp username nazwą swojego konta Linux, a 203.0.113.10 rzeczywistym adresem IP serwera.
Na przykład, jeśli nazwa użytkownika na serwerze to admin, polecenie będzie wyglądać tak:
ssh admin@203.0.113.10
Jeśli serwer używa niestandardowego portu SSH, na przykład 2222, połącz się za pomocą:
ssh -p 2222 admin@203.0.113.10
Przy pierwszym połączeniu z nieznanym serwerem SSH może wyświetlić odcisk palca jego klucza hosta i zapytać, czy mu ufasz. Przed zaakceptowaniem zweryfikuj odcisk palca u dostawcy hostingu lub w innym zaufanym źródle.
Po uwierzytelnieniu zobaczysz znak zachęty powłoki Linux podobny do:
admin@server:~$
Gratulacje! Masz połączenie ze swoim serwerem Linux.
Polecenia wpisane w tym miejscu będą uruchamiane na zdalnym serwerze, a nie na Twoim komputerze.
Jak działa terminal Linux
Zanim zaczniesz uruchamiać polecenia, przyjrzyjmy się informacjom wyświetlanym w terminalu.
Rozważmy taki przykład:
admin@server:~$
adminoznacza nazwę bieżącego użytkownika.serverwskazuje komputer, z którym masz połączenie.~oznacza Twój katalog domowy.$zwykle oznacza znak zachęty powłoki zwykłego użytkownika.
Znak zachęty może wyglądać inaczej w zależności od dystrybucji Linux i konfiguracji powłoki.
Teraz możesz wypróbować pierwsze polecenia.
Pierwsze polecenia SSH: ćwiczenie praktyczne
Zamiast zapamiętywać poszczególne polecenia, wykonajmy proste ćwiczenie.
Sprawdzimy Twoją bieżącą lokalizację, utworzymy katalog, dodamy plik tekstowy i wyświetlimy jego zawartość.
Wszystkie zmiany wprowadzimy w Twoim katalogu domowym.

Krok 1: Sprawdź nazwę użytkownika i bieżącą lokalizację
Zacznij od:
whoami
To polecenie wyświetla nazwę użytkownika powiązaną z bieżącą sesją.
Następnie uruchom:
pwd
Polecenie pwd oznacza print working directory (wyświetl katalog roboczy). Pokazuje Twoją bieżącą lokalizację w systemie plików.
Możesz na przykład zobaczyć:
/home/admin
Oznacza to, że obecnie pracujesz w katalogu domowym użytkownika admin.
Krok 2: Wyświetl pliki i katalogi
Użyj:
ls -la
To polecenie wyświetla pliki i katalogi w bieżącym katalogu, w tym elementy ukryte.
Opcja -l podaje szczegółowe informacje, a -a uwzględnia ukryte pliki.
Polecenia ls będziesz często używać podczas przeglądania katalogów lub sprawdzania, czy pliki istnieją.
Krok 3: Utwórz nowy katalog
Utwórzmy katalog na potrzeby tego ćwiczenia.
mkdir ~/ssh-practice
Polecenie mkdir tworzy katalogi. W tym przypadku tworzymy w Twoim katalogu domowym katalog o nazwie ssh-practice.
Przejdź do niego za pomocą:
cd ~/ssh-practice
Teraz uruchom:
pwd
Terminal powinien wyświetlić ścieżkę podobną do:
/home/admin/ssh-practice
Polecenie cd to skrót od change directory (zmień katalog). Za pomocą cd .. możesz przejść do katalogu nadrzędnego, a za pomocą cd ~ wrócić do katalogu domowego.
Krok 4: Utwórz pierwszy plik
Teraz utwórz pusty plik tekstowy:
touch hello.txt
Polecenie touch tworzy plik, jeśli jeszcze nie istnieje. Jeśli plik już istnieje, polecenie aktualizuje jego znaczniki czasu.
Sprawdź zawartość katalogu:
ls -l
Na liście powinien znajdować się plik hello.txt.
Dodajmy do niego tekst:
printf 'Hello from Linux!\n' > hello.txt
Polecenie printf generuje tekst, a operator > zapisuje wynik w pliku.
Uważaj: operator > nadpisuje istniejącą zawartość pliku docelowego.
Aby wyświetlić zapisany tekst, uruchom:
cat hello.txt
Powinien wyświetlić się tekst:
Hello from Linux!
Udało Ci się utworzyć katalog, przejść do niego, zapisać plik i wyświetlić jego zawartość — wszystko przez SSH.
Krok 5: Bezpiecznie zakończ sesję
Po zakończeniu pracy wpisz:
exit
To zamknie zdalną sesję powłoki i przywróci lokalny terminal.
Podczas rozłączania nie musisz wyłączać ani ponownie uruchamiać VPS. Serwer nadal działa normalnie.
Jak przesyłać pliki przez SSH
SSH umożliwia również bezpieczne przesyłanie plików między Twoim komputerem a serwerem.
Jedną z prostych opcji jest scp (secure copy).
Aby na przykład przesłać plik z komputera do katalogu utworzonego podczas ćwiczenia, uruchom to polecenie w lokalnym terminalu, a nie w sesji SSH:
scp ./example.txt admin@203.0.113.10:~/ssh-practice/
Zastąp nazwę użytkownika i adres IP własnymi danymi. Lokalny plik example.txt musi już istnieć.
Aby pobrać plik z serwera:
scp admin@203.0.113.10:~/ssh-practice/hello.txt ./
To zapisze kopię pliku hello.txt w bieżącym katalogu lokalnym.
Do interaktywnego przesyłania plików możesz także użyć SFTP, który działa przez połączenie SSH.
Klucze SSH — podstawowe informacje
SSH obsługuje uwierzytelnianie hasłem oraz kluczem publicznym.
Gdy korzystasz z kluczy SSH, tworzysz dwa powiązane ze sobą klucze:
- Klucz publiczny: Umieszczany na serwerze w celu autoryzacji dostępu.
- Klucz prywatny: Bezpiecznie przechowywany na Twoim komputerze.
Nigdy nie udostępniaj klucza prywatnego.
Parę kluczy Ed25519 możesz wygenerować za pomocą:
ssh-keygen -t ed25519
Postępuj zgodnie z wyświetlanymi instrukcjami i wybierz silne hasło do klucza.
W systemie Linux lub macOS, jeśli serwer umożliwia logowanie dotychczasową metodą i masz zainstalowane narzędzie ssh-copy-id, możesz dodać klucz publiczny za pomocą:
ssh-copy-id admin@203.0.113.10
Niektórzy dostawcy VPS umożliwiają również konfigurację kluczy publicznych w panelach sterowania.
Przetestuj logowanie za pomocą nowego klucza, zanim zmienisz ustawienia uwierzytelniania hasłem.
Najważniejsza zasada dla początkujących jest prosta: chroń swój klucz prywatny, weryfikuj tożsamość serwerów i nie wyłączaj żadnej metody uwierzytelniania, dopóki nie upewnisz się, że metoda zastępcza działa.
Typowe błędy połączenia SSH
Połączenia SSH czasami się nie udają. Zrozumienie komunikatu o błędzie pomaga ustalić przyczynę problemu.
| Błąd | Możliwa przyczyna |
|---|---|
| Connection timed out | Problem z trasowaniem sieciowym lub zaporą sieciową albo niedostępny serwer |
| Connection refused | Usługa SSH nie nasłuchuje na wskazanym porcie |
| Permission denied (publickey) | Nieprawidłowa nazwa użytkownika, niewłaściwy klucz SSH lub problem z uprawnieniami na serwerze |
| Host key verification failed | Tożsamość serwera nie jest zgodna z zapisanym kluczem |
Jeśli napotkasz problem z połączeniem, sprawdź adres IP, nazwę użytkownika, port i dane uwierzytelniające.
W przypadku problemów z uwierzytelnianiem sprawdź, czy używasz właściwego klucza prywatnego i czy odpowiadający mu klucz publiczny jest autoryzowany na serwerze.
Nie wyłączaj weryfikacji klucza hosta SSH, aby ominąć nieoczekiwane ostrzeżenie. Najpierw zweryfikuj tożsamość serwera.
Podstawowe wskazówki dotyczące bezpieczeństwa SSH
Zanim zaczniesz zarządzać serwerami produkcyjnymi, zastosuj kilka podstawowych zasad bezpieczeństwa:
- Gdy jest to możliwe, używaj kluczy SSH chronionych silnymi hasłami.
- Chroń klucze prywatne i dane logowania.
- Aktualizuj system operacyjny i oprogramowanie SSH.
- Unikaj bezpośredniego logowania na konto root, jeśli nie jest to konieczne.
- Ogranicz dostęp przez SSH za pomocą odpowiednich reguł zapory sieciowej.
- Zanim zmienisz ustawienia SSH, zapewnij sobie alternatywną metodę odzyskania dostępu.
SSH zapewnia szyfrowaną komunikację, ale serwer nadal wymaga odpowiedniej konserwacji i zarządzania dostępem.
Czego warto nauczyć się po opanowaniu SSH?
Gdy swobodnie łączysz się już z systemem Linux i poruszasz po katalogach, możesz stopniowo rozwijać swoje umiejętności.
Warto uczyć się w następującej kolejności:
- Zarządzanie plikami w systemie Linux: Naucz się kopiować, przenosić, zmieniać nazwy i przeglądać pliki.
- Uprawnienia do plików: Poznaj polecenia
chmodichownoraz uprawnienia administracyjne. - Zarządzanie oprogramowaniem: Instaluj i aktualizuj pakiety za pomocą APT lub DNF.
- Zarządzanie usługami: Uruchamiaj, zatrzymuj i sprawdzaj usługi za pomocą
systemctl. - Monitorowanie serwera: Sprawdzaj pamięć, wykorzystanie dysku i dzienniki systemowe.
Te umiejętności ułatwią Ci zarządzanie stronami internetowymi, rozwiązywanie problemów z aplikacjami i pewne administrowanie serwerami Linux.
Często zadawane pytania
Polecenia SSH służą do łączenia się ze zdalnymi systemami, wykonywania poleceń i bezpiecznego przesyłania plików. Po nawiązaniu połączenia możesz używać poleceń powłoki Linux do zarządzania plikami, oprogramowaniem i usługami serwera.
Tak. Windows 10 i 11 obsługują OpenSSH, z którego po zainstalowaniu można korzystać przez PowerShell lub Windows Terminal.
Nie. Przez SSH można łączyć się ze zwykłymi kontami użytkowników. Niektóre operacje administracyjne wymagają podwyższonych uprawnień, ale codzienne zarządzanie plikami i poruszanie się po katalogach zwykle ich nie wymaga.
Tak, pod warunkiem że rozumiesz wykonywane polecenia i przestrzegasz podstawowych zasad bezpieczeństwa. Zanim zaczniesz wprowadzać zmiany na poziomie systemu, poćwicz na nieszkodliwych operacjach na plikach i katalogach.
Podsumowanie
SSH to niezbędna umiejętność dla każdego, kto uczy się administrowania serwerami Linux. Zapewnia bezpieczny dostęp do zdalnych systemów oraz umożliwia zarządzanie plikami, przesyłanie danych i wykonywanie codziennych prac konserwacyjnych.
Najlepszym sposobem na poznanie poleceń SSH jest praktyka. Zacznij od łączenia się z serwerem, poruszania się po katalogach i tworzenia plików, zanim przejdziesz do bardziej zaawansowanych zadań administracyjnych.
Gdy opanujesz swoją pierwszą sesję SSH, zyskasz podstawy potrzebne do korzystania z niemal każdego innego poradnika dotyczącego serwerów Linux.