Skip to content

Wszystko o WordPressie, tworzeniu stron — i nie tylko

Jak połączyć się z serwerem SSH z Windows, macOS lub Linux

Jak połączyć się z serwerem SSH z Windows, macOS lub Linux

Zdany serwer bez SSH to samochód bez kluczyka. Fizycznie istnieje, ale nie da się dostać do środka. SSH (Secure Shell) to właśnie ten kluczyk, który otwiera drzwi do wiersza poleceń serwera z dowolnego miejsca: z domu, biura czy kawiarni na drugim końcu świata.

Początkujących często przeraża czarne okno terminala z migającym kursorem. Wydaje się, że do połączenia potrzebny jest dyplom administratora systemów. W rzeczywistości podstawowe polecenie mieści się w trzech słowach, a cały proces logowania zajmuje półtorej minuty. Najważniejsze to wiedzieć, jakie narzędzie wybrać dla swojego systemu operacyjnego.

💡 Szybki przegląd:

  • Otwórz terminal (macOS/Linux) lub PowerShell (Windows) i wpisz ssh user@server, to podstawowe polecenie do połączenia z serwerem SSH przez port 22
  • Jeśli serwer nasłuchuje na niestandardowym porcie, dodaj flagę -p: ssh user@server -p 2222 i jesteś w środku
  • Przy pierwszym połączeniu terminal poprosi o potwierdzenie odcisku palca serwera, wpisz yes, to normalne i zdarza się dokładnie raz dla każdego nowego serwera
  • Do codziennej pracy skonfiguruj uwierzytelnianie za pomocą klucza SSH: ssh-keygen generuje parę, ssh-copy-id wysyła klucz publiczny na serwer i hasło nie jest już potrzebne

Czym jest SSH i kiedy jest potrzebny

SSH to szyfrowany protokół, który tworzy bezpieczny tunel między Pana/Pani komputerem a zdalnym serwerem. Cały ruch wewnątrz tunelu jest szyfrowany: wpisuje Pan/Pani polecenie u siebie, trafia ono na serwer, serwer je wykonuje i zwraca odpowiedź. Nikt pomiędzy nie widzi ani poleceń, ani haseł.

W praktyce SSH jest potrzebny w trzech scenariuszach. Pierwszy i najważniejszy to administrowanie serwerem: wynajął Pan/Pani VPS pod stronę internetową, zalogował się przez SSH, zainstalował Nginx i MySQL. Drugi to praca z Gitem: polecenie git push komunikuje się właśnie przez SSH z GitHubem lub GitLabem. Trzeci to przesyłanie plików: narzędzia scp i sftp kopiują dane przez ten sam tunel SSH, nie wymagając osobnego serwera FTP.

Bez SSH nowoczesne tworzenie stron internetowych jest niemożliwe. Ale żeby z niego korzystać, nie trzeba być inżynierem DevOps, wystarczy zapamiętać kilkanaście poleceń i wybrać klienta dla swojego systemu operacyjnego.

Windows: wbudowany OpenSSH i PuTTY

Przez długi czas Windows był jedynym systemem bez SSH „od ręki" i właśnie dlatego powstał PuTTY. Sytuacja zmieniła się w 2018 roku: począwszy od Windows 10 w wersji 1809 i we wszystkich wydaniach Windows 11 klient OpenSSH jest wbudowany domyślnie.

Wbudowany klient OpenSSH

Proszę sprawdzić, czy klient OpenSSH jest zainstalowany. Proszę otworzyć Ustawienia → Aplikacje → Funkcje dodatkowe, wpisać w wyszukiwarkę „OpenSSH" i upewnić się, że składnik jest obecny. Jeśli nie, proszę kliknąć „Dodaj funkcję" i wybrać „Klient OpenSSH".

Okno konfiguracji połączenia SSH w PuTTY

Następnie PowerShell lub Terminal Windows. Polecenie jest takie samo jak w Linuksie:

Przy pierwszym połączeniu terminal poprosi o potwierdzenie odcisku palca, proszę wpisać yes. Następnie hasło użytkownika serwera i jest Pan/Pani w środku. Żadnego zewnętrznego oprogramowania, wszystko działa za pomocą standardowych narzędzi Windows.

PuTTY: gdy potrzebny jest interfejs graficzny

Niektórym programistom wygodniej pracuje się z GUI niż z wierszem poleceń. PuTTY to darmowy klient o otwartym kodzie źródłowym, który zaspokaja tę potrzebę. Aktualną wersję 0.84 (maj 2026) można pobrać z oficjalnej strony jako pojedynczy plik putty.exe (uruchomienie przenośne) lub instalator MSI.

Interfejs jest minimalistyczny: w polu Host Name wpisuje Pan/Pani adres IP lub domenę serwera, port domyślnie 22, klika Open. To wszystko. W przypadku uwierzytelniania za pomocą klucza SSH proszę przejść do Connection → SSH → Auth → Credentials i wskazać ścieżkę do pliku klucza prywatnego w formacie .ppk. Zwykłego klucza OpenSSH PuTTY nie rozpoznaje, należy go przekonwertować za pomocą wbudowanego narzędzia PuTTYgen.

Ostrzeżenie bezpieczeństwa przy pierwszym połączeniu SSH

Co wybrać: OpenSSH czy PuTTY? Jeśli stale pracuje Pan/Pani z serwerami przez terminal, proszę sięgnąć po wbudowany OpenSSH, jest szybszy i nie wymaga zbędnych ruchów. Jeśli łączy się Pan/Pani raz na miesiąc i chce mieć wizualną „przypominajkę" z zapisanymi sesjami, PuTTY jest wygodniejszy. Obie opcje są w pełni sprawne w 2026 roku.

MacOS: terminal i wbudowane polecenie ssh

W macOS wszystko jest preinstalowane. Terminal znajduje się w Finder → Programy → Narzędzia → Terminal, a polecenie ssh jest dostępne od razu, bez dodatkowych kroków.

Okno terminala macOS z wierszem poleceń

Proszę otworzyć Terminal i wykonać:

Jeśli serwer SSH nasłuchuje na niestandardowym porcie, proszę dodać flagę -p:

1ssh [email protected] -p 2222

System poprosi o hasło użytkownika na serwerze. Podczas wpisywania znaki nie są wyświetlane, ani gwiazdki, ani kropki. To nie błąd, a zabezpieczenie: nikt nie podejrzy długości hasła. Proszę wpisać je „na ślepo" i nacisnąć Enter.

Linux: żadnych dodatkowych narzędzi

W każdej dystrybucji Linuksa klient OpenSSH jest albo preinstalowany, albo instaluje się go jednym poleceniem:

1sudo apt install openssh-client # Debian/Ubuntu
2sudo dnf install openssh-clients # RHEL/CentOS/Fedora
Wpisywanie komendy ssh w terminalu Linux

Następnie to samo polecenie ssh user@server. Żadnej różnicy w stosunku do macOS.

Monit o hasło przy połączeniu SSH w terminalu

Po wpisaniu hasła system uwierzytelni Pana/Panią i otworzy sesję na serwerze. Zobaczy Pan/Pani znak zachęty wiersza poleceń zdalnej maszyny, od tej chwili może Pan/Pani wykonywać polecenia tak, jakby siedział Pan/Pani przy niej fizycznie.

Pomyślne połączenie ze zdalnym serwerem przez SSH

Aby zamknąć sesję, exit lub Ctrl+D. To uniwersalna zasada dla wszystkich trzech systemów operacyjnych.

Co zrobić z ostrzeżeniem o odcisku klucza

Podczas pierwszego połączenia z nowym serwerem SSH wyświetla komunikat:

1The authenticity of host 'server.com (192.168.1.1)' can't be established.
2ECDSA key fingerprint is SHA256:...
3Are you sure you want to continue connecting (yes/no)?

To normalne. Klient ostrzega: „nigdy wcześniej nie widziałem tego serwera, czy na pewno łączy się Pan/Pani z tym, z kim Pan/Pani myśli?" Proszę wpisać yes i nacisnąć Enter. Odcisk klucza zostanie zapisany w pliku ~/.ssh/known_hosts i przy kolejnych połączeniach pytanie się nie powtórzy.

Kiedy bić na alarm. Jeśli łączył się Pan/Pani już wcześniej z tym serwerem, a teraz widzi Pan/Pani ostrzeżenie WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!, proszę się zatrzymać. Oznacza to jedno z dwojga: administrator serwera przeinstalował SSH i zmienił klucz (działanie legalne) albo ktoś próbuje przechwycić Pana/Pani ruch za pomocą ataku „człowiek pośrodku" (MITM). W pierwszym przypadku proszę skontaktować się z administratorem i to wyjaśnić. W drugim, proszę nie wpisywać hasła i rozłączyć się.

Przydatne techniki: klucze, konfiguracja i limit czasu

Klucze SSH zamiast hasła

Uwierzytelnianie hasłem jest niewygodne przy częstych połączeniach. Klucze SSH rozwiązują ten problem: generuje Pan/Pani parę kluczy, ładuje klucz publiczny na serwer i podczas połączenia serwer rozpoznaje Pana/Panią bez pytania o hasło.

Generowanie klucza (na Pana/Pani lokalnej maszynie):

1ssh-keygen -t ed25519 -C "[email protected]"

Kopiowanie klucza publicznego na serwer:

1ssh-copy-id [email protected]

Po tym ssh [email protected] wpuszcza bez hasła. Klucz prywatny (~/.ssh/id_ed25519) proszę przechowywać w tajemnicy, to Pana/Pani cyfrowy paszport.

Plik konfiguracyjny ~/.ssh/config

Jeśli serwerów jest kilka, proszę utworzyć ~/.ssh/config i zdefiniować krótkie aliasy:

1Host production
2 HostName 203.0.113.5
3 User root
4 Port 2222
5 IdentityFile ~/.ssh/production_key
6
7Host staging
8 HostName staging.example.com
9 User deploy

Z takim konfigiem każde połączenie sprowadza się do krótkiego aliasu: ssh production automatycznie podstawi hosta, użytkownika, port i ścieżkę do klucza.

Utrzymywanie sesji przy życiu

Rozłączenie po kilku minutach bezczynności to klasyczny problem. Proszę dodać w ~/.ssh/config:

1Host *
2 ServerAliveInterval 60

Klient będzie co 60 sekund wysyłał pakiet keepalive, nie pozwalając serwerowi zamknąć sesji.

Wideo powyżej, krótki i poglądowy tutorial z SSH dla początkujących. W 10 minut autor pokazuje pełny cykl: od instalacji klienta po logowanie za pomocą klucza na Windows, macOS i Linux.

⁉️🤔 Często zadawane pytania

Czy można połączyć się z serwerem bez hasła?

Tak, i jest to standardowa praktyka w przypadku serwerów produkcyjnych. Proszę skonfigurować uwierzytelnianie za pomocą klucza SSH poleceniem ssh-copy-id, po czym hasło nie będzie wymagane podczas logowania. Klucz prywatny należy zabezpieczyć hasłem (passphrase) na wypadek kradzieży laptopa.

Czym PuTTY różni się od OpenSSH?

PuTTY to graficzny klient z własnym formatem kluczy (.ppk), zapisywaniem sesji i kartami. OpenSSH to narzędzie konsolowe, które działa tak samo w PowerShell, Terminalu macOS i każdym emulatorze Linuxa. Dla początkującego PuTTY jest bardziej obrazowy, dla profesjonalisty OpenSSH jest szybszy i bardziej elastyczny. Oba obsługują port 22, porty niestandardowe, uwierzytelnianie kluczem oraz tunelowanie.

Jaki port podać podczas łączenia?

Domyślnie SSH nasłuchuje na porcie 22. Jeśli administrator serwera zmienił port na inny (powszechna praktyka przeciwko atakom brute-force), proszę ustalić z nim numer i dodać flagę -p do polecenia: ssh user@server -p 2222. W PuTTY port podaje się w odpowiednim polu głównego okna.

Czy koniecznie trzeba potwierdzać fingerprint przy pierwszym połączeniu?

Tak, to krytyczny krok bezpieczeństwa. SSH pokazuje odcisk klucza serwera, wpisują Państwo yes, a odcisk jest zapisywany w known_hosts. Jeśli pominą Państwo ten krok lub będą ślepo klikać yes na każdym ostrzeżeniu, ryzykują Państwo oddanie hasła osobie atakującej, która podmieniła serwer. Zweryfikowany fingerprint administrator zazwyczaj publikuje w dokumentacji serwera.

Jaki klient zatem wybrać?

Do większości codziennych zadań wystarczy wbudowany OpenSSH. Jest dostępny na Windows, macOS i Linux, działa tak samo i nie wymaga instalacji. Scenariusz jest prosty: otwierają Państwo terminal, wpisują ssh user@server, pracują Państwo.

Jeśli administrują Państwo codziennie kilkunastoma serwerami, proszę poświęcić 15 minut na ~/.ssh/config i uwierzytelnianie kluczem. To jednorazowa inwestycja, która oszczędza godziny miesięcznie.

Po PuTTY proszę sięgnąć w dwóch przypadkach: pracują Państwo na Windows i zasadniczo nie chcą mieć do czynienia z wierszem poleceń albo potrzebują Państwo wizualnego menedżera zapisanych sesji ze strukturą drzewiastą. We wszystkich pozostałych sytuacjach wbudowany OpenSSH radzi sobie nie gorzej.

Najważniejsze, proszę zacząć od pierwszego połączenia już dziś. Straszne czarne okno po pół godzinie stanie się zwykłym narzędziem pracy.