Protokół SSH (ang. Secure Shell) stosuje się w sieciach TCP/IP. Jego zadaniem jest zdalne łączenie terminalowe z komputerami. SSH jest następcą protokołu Telnet, a jego wyróżniającą cechą jest transfer bazy danych w postaci zaszyfrowanej oraz identyfikacja użytkowników na wiele różnych sposobów. Dzięki swoim możliwościom SSH jest nieocenionym wsparciem każdego administratora oraz zaawansowanego użytkownika. Dziś podpowiemy Ci, do czego możesz wykorzystać ten protokół oraz jak za pomocą SSH połączyć się z serwerem.

1 Do czego wykorzystać SSH?

Technologia SSH (Secure Shell) daje możliwość nawiązania bezpiecznego połączenia z systemami zdalnymi, takimi jak serwer VPS lub serwer dedykowany. To właśnie na jego bazie powstały takie protokoły transferu plików jak SCP czy SFTP.

Popularny sposób łączenia po FTP (ang. File Transfer Protocol) służy zasadniczo tylko przesyłaniu plików na serwer oraz z serwera. Tymczasem SSH pozwala na pracę na samym serwerze i wykonywanie różnych komend. Protokół umożliwi Ci zatem pracę w terminalu lub powłoce zdalnej systemu tak, jakby były one systemem lokalnym. SSH działa w architekturze klient-serwer. Serwer nasłuchuje na domyślnym porcie 22.

Zastosowanie protokołów SSH jest stosunkowo szerokie. Najczęściej wykorzystuje się je do:

  • pracy na zdalnych maszynach,
  • korzystania ze zdalnych baz danych,
  • konfigurowania odległego routera lub serwera,
  • eksploatacji serwera WWW,
  • korzystania z poczty e-mail,
  • bezpiecznego transferu plików (przy pomocy dodatkowych protokołów),
  • tunelowania dowolnych połączeń TCP.

Protokół SSH pozwoli Ci zapobiec dramatycznym w skutkach atakom na sesję terminalową. Dzięki niemu skutecznie wyeliminujesz:

  • DNS spoofing (podszywanie się pod serwer DNS),
  • IP source routing (podszywanie się pod zaufany system),
  • IP spoofing (podszywanie się pod zdalny serwer docelowy),
  • passwords hijacking (przechwycenie haseł),
  • sniffing (podsłuch) oraz spoofing (zafałszowanie) sesji.

„Kiedy pracujesz w oparciu o SSH, to od razu wykonujesz operacje na serwerze. Nie musisz za każdym razem edytować pliku lokalnie i przesyłać go na serwer tak, jak ma to miejsce podczas tradycyjnej pracy z wykorzystaniem FTP. Poczujesz ogromną różnicę.” – Artur Pajkert


2 Klucze i hasła

Zadaniem protokołu SSH jest zabezpieczenie połączenia z serwerem. Zazwyczaj połączenie można zestawić na dwa sposoby: Albo autoryzacją po kluczu (specjalny plik z odpowiednio długim ciągiem znaków – klucz prywatny, odpowiadający Twojemu kluczowi publicznemu, umieszczanemu na serwerze), albo korzystając z pary danych użytkownik – hasło (podejście klasyczne).

Zarządzanie zbiorem kluczy pozwala na wyeliminowanie problemów związanych z hasłami. Pozwala również na uproszczenie połączeń: korzystając z jednego klucza można połączyć się z kilkoma serwerami. Dostęp po protokole SSH jest możliwy z dowolnego systemu operacyjnego.

3 SSH w Linuksie

Jeśli korzystasz z systemu Linux, wystarczy, że w terminalu wpiszesz polecenie ssh, podasz nazwę użytkownika i nazwę hosta/serwera lub adres IP zgodnie z przykładem:

ssh nazwauzytkownika@twojadomena.pl

4 SSH w Windows

Aby zalogować się na serwer SSH w systemie operacyjnym Windows możesz skorzystać z bezpłatnego klienta o nazwie PuTTy.

Po uruchomieniu programu Twoim oczom ukaże się okno dialogowe i niezbędne do wypełnienia pola:

  • Host Name (lub IP address) – wpisz nazwę hosta lub adres IP serwera, z którym chcesz się połączyć.
  • Connection type – zaznacz opcję SSH.

W zakładce Logging (jedna z pozycji paska po lewej stronie ekranu) zaznacz opcję Logging turned off completely oraz Ask the user every time.

W zakładce Terminal wybierz:

  • Auto wrap mode initially on,
  • Use background colour to erase screen,
  • Local echo – Auto,
  • Local line editing – Auto.

Upewnij się, że wpisane dane są poprawne, a następnie – w celu zainicjowania połączenia – kliknij przycisk Open. Na ekranie zostanie wyświetlone okno konsoli. Wpisz w nim login oraz hasło dostępu. W polu „login as” wpisz nazwę użytkownika, do którego chcesz się zalogować i kliknij klawisz „enter”.

Po wyświetleniu pola „password”, wpisz hasło dostępu do konta i kliknij klawisz „enter”.

Alternatywnie – jeśli administrator serwera umożliwił Ci logowanie po kluczu (czyli umieścił na serwerze Twój klucz publiczny w odpowiednim pliku z kluczami autoryzacyjnymi na serwerze), załącz plik klucza prywatnego zanim uruchomisz połączenie. W programie Putty robi się to w menu po lewej Connection->SSH->Auth.

Kiedy na ekranie wyświetli się informacja o dacie ostatniego logowania oznacza to, że połączenie zostało nawiązane. Gratulacje, teraz możesz pracować na serwerze poprzez protokół SSH.

Łukasz Bielawski
>
Łukasz Bielawski
Zawsze chętny do pomocy. Od 10 lat zajmuje się marketingiem internetowym, z naciskiem na działania seo oraz kampanie w ekosystemie Google Ads. Prywatnie pasjonat motoryzacji.

7 odpowiedzi do "Protokół komunikacyjny SSH – jak zacząć…"

  1. Adam pisze:

    Prosto i na temat. Dzięki za artykuł.

  2. Lokalny pisze:

    Bardzo wartościowy artykuł, wiele z niego wyniosłem i na pewno wykorzystam w praktyce

    1. Artur Pajkert pisze:

      Miło nam, dzięki za feedback!

  3. Brandmotion pisze:

    Właśnie takich artykuł potrzeba, SSH nie jest trudne, wystarczy spróbować według instrukcji.

  4. Mateusz pisze:

    Jak zapobiec zawieszaniu się terminala PuTTY przy połączeniu z serwerami Cyber_Folks w momencie dłuższej bezczynności?

    1. Hej, podczas łączenia się za pomocą putty w zakładce Connection – ustaw pierwszą opcję – Seconds between keepalives. Standardowo ustawione jest na 0. Ustaw na przykład wartość 30. Wyśle to co 30 sekund wiadomość do serwera i będzie za Ciebie udawało, że coś tam jeszcze robisz 😉

      PS jak coś to od jakiegoś czasu windows ma już wbudowane polecenie ssh.

  5. Green-Help pisze:

    Dziękuję, szukałem właśnie informacji jak przerzucić dużą bazę danych.

Dodaj komentarz

Twój adres e-mail nie będzie opublikowany.

Polecane dla Ciebie

Szukasz dalej?