SSH (Secure Shell) to protokół, który daje bezpieczne, zaszyfrowane połączenie ze zdalnym serwerem. W latach 90. zastąpił niezaszyfrowanego Telneta i działa domyślnie na porcie 22. Na Linuksie i macOS jest wbudowany w system, a na Windowsie masz go w PowerShellu od Windows 10.
Masz VPS, NAS, Raspberry Pi albo zwykły hosting? SSH to pierwsze narzędzie, po które sięgniesz. Daje pełną kontrolę nad maszyną, czyli wiersz poleceń, zarządzanie plikami, restart usług i edycję konfiguracji, wszystko jednym zaszyfrowanym kanałem z dowolnego miejsca na świecie. Najczęściej łączysz się tak właśnie z serwerem VPS.
Spis treści
ToggleJak połączyć się przez SSH: krok po kroku
- Zbierz dane do połączenia. Od dostawcy hostingu lub VPS dostaniesz adres IP serwera (albo hostname), nazwę użytkownika (zwykle
rootlub na przykładubuntu) oraz hasło lub klucz SSH. Znajdziesz je w panelu albo w mailu powitalnym. - Otwórz terminal. Na Linuksie i macOS masz go wbudowany, na Windows 10 i 11 użyjesz PowerShella lub Windows Terminal (SSH jest w komplecie), a na starszym Windowsie pobierzesz darmowe PuTTY.
- Wpisz komendę ssh. Składnia to
ssh użytkownik@adres_serwera. Przy pierwszym połączeniu zobaczysz pytanie o fingerprint hosta, wpiszyes. Następnie podaj hasło, które przy wpisywaniu nie będzie widoczne, i to normalne. - Jesteś w środku. Widzisz prompt serwera (na przykład
root@vps-123456:~#) i możesz wpisywać komendy Linuksa. Sesję kończysz poleceniemexit.
ssh root@185.100.200.50
# Połączenie na niestandardowym porcie (np. 2222)
ssh -p 2222 root@185.100.200.50
# Logowanie kluczem zamiast hasła
ssh -i ~/.ssh/klucz_prywatny.pem ubuntu@185.100.200.50
# Kopiowanie pliku na serwer (SCP)
scp plik.txt root@185.100.200.50:/var/www/html/
# Kopiowanie pliku z serwera na komputer
scp root@185.100.200.50:/etc/nginx/nginx.conf ./nginx-kopia.conf
Klucz SSH czy hasło: co bezpieczniejsze
| Metoda | Bezpieczeństwo | Wygoda | Kiedy |
|---|---|---|---|
| Hasło | podatne na brute-force i wycieki | proste, bez konfiguracji | tylko testy i dev |
| Klucz SSH (para prywatny + publiczny) | matematycznie mocniejsze, odporne na brute-force | wymaga jednorazowej konfiguracji | zawsze na produkcji |
Para kluczy działa jak zamek i klucz. Na serwerze zostaje klucz publiczny (zamek), a na Twoim komputerze klucz prywatny (klucz). Kopię zamka możesz rozdać wielu serwerom, ale klucz prywatny nigdy nie opuszcza Twojej maszyny.
ssh-keygen -t ed25519 -C „twoj@email.com”
# tworzy ~/.ssh/id_ed25519 (prywatny) i id_ed25519.pub (publiczny)
# Wgranie klucza publicznego na serwer
ssh-copy-id root@185.100.200.50
# od teraz logujesz się bez hasła
Zapamiętaj jedno: klucz prywatny to Twój najważniejszy plik. Nigdy go nie udostępniaj, nie wysyłaj mailem ani nie wrzucaj na GitHub, a kopię trzymaj na zaszyfrowanym nośniku. Gdy go zgubisz, usuwasz odpowiadający mu klucz publiczny z serwera i generujesz nową parę.
Zmiana portu SSH: czy warto
Domyślny port 22 to pierwszy cel botów skanujących internet. Przeniesienie SSH na niestandardowy port (na przykład 2222 albo 22222) radykalnie obcina liczbę prób brute-force w logach. Samo w sobie nie jest pełnym zabezpieczeniem, to klasyczne „bezpieczeństwo przez niejawność”, ale w parze z kluczami SSH i wyłączonym logowaniem hasłem eliminuje praktycznie cały automatyczny ruch atakujący. Trzy linijki w pliku /etc/ssh/sshd_config załatwiają sprawę:
PermitRootLogin prohibit-password # root tylko kluczem
PasswordAuthentication no # logowanie hasłem wyłączone
Port 22222 # niestandardowy port
# po edycji przeładuj usługę
systemctl restart sshd
Do czego SSH przydaje się w SEO i web devie
- Edycja plików serwera –
nginx.conf,.htaccess, konfiguracja PHP-FPM, - WP-CLI przez SSH – masowe operacje na WordPressie bez wchodzenia w panel,
- Deploy kodu –
git pullalbo rsync na serwerze produkcyjnym, częsty element pipeline’u CI/CD, - Diagnostyka –
top,journalctl, podgląd logów Nginx i Apache, - Certyfikaty SSL – wydawanie i odnawianie Let’s Encrypt przez Certbot,
- Tunel SSH – bezpieczny dostęp do bazy danych, która nie jest wystawiona na zewnątrz.
Najczęstsze pytania o SSH
Co to jest SSH?
SSH (Secure Shell) to protokół sieciowy do bezpiecznego, zdalnego zarządzania komputerem lub serwerem. Cała komunikacja jest szyfrowana, więc nikt po drodze nie odczyta przesyłanych danych. Powstał w 1995 roku jako bezpieczna alternatywa dla Telnetu.
Na jakim porcie działa SSH?
Domyślny port to 22. Można go zmienić w pliku /etc/ssh/sshd_config na dowolny inny, co jest popularnym zabiegiem ograniczającym automatyczne ataki botów. Łącząc się na innym porcie, użyj flagi -p, na przykład ssh -p 2222 user@host.
Jak połączyć się przez SSH na Windows?
Windows 10 i 11 mają wbudowanego klienta SSH w PowerShellu i Windows Terminal, więc wystarczy wpisać ssh user@adres_ip. Alternatywnie użyjesz graficznego PuTTY albo Windows Subsystem for Linux (WSL), jeśli go masz.
Czym różni się SSH od SFTP i SCP?
SSH to protokół zdalnego dostępu, w którym logujesz się i wpisujesz komendy. SCP (Secure Copy) to polecenie do kopiowania plików przez SSH, w jedną stronę i prostą składnią. SFTP (SSH File Transfer Protocol) to pełny protokół transferu plików przez SSH, w którym przeglądasz foldery, kopiujesz w obie strony i usuwasz. SFTP obsługują między innymi FileZilla i WinSCP.
Czy SSH jest bezpieczny?
Tak, SSH korzysta z mocnego szyfrowania (domyślnie AES-256 lub ChaCha20). Połączenie jest bezpieczne pod warunkiem, że logujesz się kluczem, a nie hasłem, masz zaktualizowany serwer i nie udostępniasz klucza prywatnego. Najczęstsze wektory ataku to słabe hasła (dlatego warto je wyłączyć) i zapomniane konta z dostępem.






