logo

Jak używać protokołu SSH do łączenia się ze zdalnym serwerem w systemie Linux | polecenie ssh

Secure Shell, powszechnie znany jako SSH, to superbezpieczny sposób komunikowania się z odległymi komputerami, zwanymi serwerami. To jak tajny tunel w Internecie, który zapewnia bezpieczeństwo i prywatność rozmów. Wyobraź sobie, że wysyłasz list i zamiast wysyłać go otwarcie, umieszczasz go w magicznej kopercie, którą możesz otworzyć tylko Ty i osoba, do której go wysyłasz. To właśnie robi SSH dla rozmów komputerowych.

Ten artykuł ma pomóc początkującym, którzy dopiero zaczynają z tymi rzeczami, zrozumieć, jak korzystać z SSH. Pokażemy Ci, jak użyć specjalnego polecenia (pomyśl o tym jak o sekretnym uścisku dłoni), aby połączyć swój komputer z odległym serwerem w świecie Linuksa. Pod koniec tego przewodnika będziesz mieć większą pewność, że korzystasz z protokołu SSH, aby zapewnić bezpieczeństwo rozmów komputerowych podczas kontaktowania się ze zdalnymi serwerami.



Co to jest SSH?

SSH, czyli Secure Shell, to kryptograficzny protokół sieciowy zaprojektowany w celu umożliwienia bezpiecznej komunikacji między dwoma systemami za pośrednictwem sieci, które mogą nie być bezpieczne. Protokół ten jest szeroko stosowany do zdalnego dostępu do serwerów i bezpiecznej transmisji plików pomiędzy komputerami. Zasadniczo SSH działa jako bezpieczny kanał, ustanawiając poufny kanał komunikacji w scenariuszach, w których sieć może stwarzać zagrożenia dla bezpieczeństwa. Technologia ta jest kluczowa dla profesjonalistów poszukujących niezawodnej i bezpiecznej metody zarządzania serwerami oraz przesyłania wrażliwych danych między komputerami w kontrolowany i chroniony sposób. ssh działa na porcie TCP/IP 22.

Składnia polecenia SSH w systemie Linux

Podstawowa składnia korzystania z polecenia SSH jest następująca:



ssh [username]@[hostname or IP address]>

Tutaj,

Zastępować[> username> ]>z nazwą użytkownika zdalnego serwera oraz[> hostname or IP address> ]>z nazwą hosta lub adresem IP serwera.

pobierz filmy z YouTube'a za pomocą VLC

Warunki wstępne

Zanim zagłębisz się w świat SSH, koniecznie upewnij się, że spełnione są pewne warunki wstępne. Oto lista kontrolna gwarantująca płynne połączenie:



  1. Stan komputera zdalnego:
    • Upewnij się, że komputer zdalny jest włączony i ma aktywne połączenie sieciowe. SSH opiera się na łączności sieciowej, a serwer zdalny musi być dostępny.
  2. Informacje identyfikacyjne:
    • Uzyskaj adres IP lub nazwę zdalnego komputera. Ta informacja jest kluczowa dla skierowania połączenia SSH do właściwego serwera.
  3. Zezwolenie na dostęp:
    • Upewnij się, że masz niezbędne uprawnienia dostępu do komputera zdalnego. Zwykle wymaga to posiadania prawidłowej nazwy użytkownika i hasła do serwera zdalnego.
  4. Ustawienia zapory:
    • Sprawdź ustawienia zapory ogniowej zarówno na komputerze lokalnym, jak i na serwerze zdalnym. Połączenia SSH korzystają z określonego portu (zwykle portu 22), dlatego bardzo ważne jest, aby upewnić się, że zapora sieciowa zezwala na ruch SSH. Aby umożliwić bezpieczną komunikację, mogą być wymagane dostosowania.

Zainstaluj komponent SSH w systemie Linux

Konfiguracja protokołu SSH w systemie Linux może być konieczna, ponieważ w niektórych dystrybucjach nie jest on preinstalowany. Instalacja OpenSSH, powszechnie stosowanej implementacji SSH, lub wybranie rozwiązania z graficznym interfejsem użytkownika (GUI), takiego jak klient PuTTY dla Ubuntu, może rozwiązać ten problem. Oto przewodnik krok po kroku dotyczący instalacji i konfiguracji OpenSSH zarówno po stronie klienta, jak i serwera:

Instalowanie go zarówno na kliencie, jak i na serwerze

W przypadku systemów opartych na Debianie/Ubuntu otwórz terminal i uruchom:

sudo apt install openssh-client openssh-server>

W przypadku systemów opartych na Red Hat, takich jak CentOS lub Fedora, użyj jednego z następujących poleceń:

kiedy pojawił się system Windows 7
sudo dnf install openssh-clients openssh-server>

Lub

sudo yum install openssh-clients openssh-server>

Notatka : Aby sprawdzić status działającego serwera po instalacji, możemy użyć polecenia systemctl status sshd

Jeśli usługa nie jest uruchomiona, uruchom ją za pomocą następującego polecenia:

sudo systemctl start sshd>

Polecenie nie drukuje wyników.

Aby usługa uruchamiała się automatycznie po uruchomieniu, uruchom:

sudo systemctl enable sshd>

Włączenie sshd usługa uruchamia go podczas procesu rozruchu.

Jak używać SSH do łączenia się ze zdalnym serwerem w systemie Linux

W tym przykładzie uzyskujemy dostęp Ubuntu lub Red Hat Linux komputerze za pomocą wiersza poleceń systemu Windows za pomocą `ssh`

Maszyna wirtualna Java

Na przykład: Jeśli nasz adres IP to 10.143.90.2, a nazwa użytkownika to Jayesh

Składnia używania ssh do łączenia się ze zdalnym serwerem:

ssh [email protected]>

Dodaj swoją nazwę użytkownika zamiast Jayesh i dodaj swoją adres IP w miejsce 10.143.90.2

ssh do systemu Linux z systemu Windows

polecenie składa się z 3 różnych części:

  • polecenie ssh instruuje system, aby ustanowił szyfrowane, bezpieczne połączenie z maszyną hosta.
  • nazwa użytkownika reprezentuje konto, do którego uzyskiwany jest dostęp na hoście.
  • gospodarz odnosi się do maszyny, którą może być komputer lub router, do którego uzyskuje się dostęp. Może to być adres IP (np. 192.168.1.24) lub domena np. www.nazwadomeny.com).

Notatka: Po zalogowaniu się do komputera hosta polecenia będą działać tak, jakby były wpisane bezpośrednio do terminala hosta. Używanie pary kluczy publiczno-prywatnych lub pary kluczy SSH do logowania się na zdalnym hoście jest bezpieczniejsze w porównaniu do używania haseł.

Jak utworzyć klucze publiczno-prywatne?

Do generowania klucze publiczno-prywatne użyj polecenia:

ssh-keygen>
ssh-keygen

ssh-keygen

Klucz prywatny musi pozostać ukryty, a klucz publiczny musi zostać skopiowany na zdalny host. Po skopiowaniu klucza publicznego na zdalny host połączenie zostanie nawiązane przy użyciu kluczy SSH, a nie hasła.

Opcje dostępne w ssh

Notatka: Tutaj zamiast użytkownika i hosta dodaj nazwę użytkownika i adres IP, z którym chcesz się połączyć. A localhost to adres IP naszego lokalnego systemu.

Opcje Opis Składnia
-1 Zmusza ssh do używania wyłącznie protokołu SSH-1.
  ssh -1 user@host>
-2 Zmusza ssh do używania wyłącznie protokołu SSH-2.
  ssh -2 user@host>
-4 Zezwala tylko na adresy IPv4.
  ssh -4 user@host>
-6 Zezwala tylko na adresy IPv6.
  ssh -6 user@host>
-A Przekierowanie połączenia agenta uwierzytelniania jest włączone.
  ssh -A user@host>
-A Przekazywanie połączenia agenta uwierzytelniania jest wyłączone.
  ssh -a user@host>
-C Kompresuje wszystkie dane (w tym stdin, stdout, stderr i dane dla przekazywanych połączeń X11 i TCP) w celu szybszego przesyłania danych.
  ssh -C user@host>
-C Wybiera specyfikację szyfru do szyfrowania sesji. Konkretny algorytm szyfrowania zostanie wybrany tylko wtedy, gdy obsługuje go zarówno klient, jak i serwer.
  ssh -c aes256-cbc user@host>
-F Żąda przejścia ssh do tła tuż przed wykonaniem polecenia.
  ssh -f user@host command>
-G Umożliwia zdalnym hostom łączenie się z lokalnymi portami przekierowanymi.
  ssh -g -L 8080:localhost:80 user@host>
-N Zapobiega czytaniu ze standardowego wejścia.
  ssh -n user@host command>
-P Port, z którym można się połączyć na zdalnym hoście.
  ssh -p 2222 user@host>
-Q Pomija wszystkie błędy i ostrzeżenia
  ssh -q user@host>
-W Wyświetl numer wersji.
  ssh -V>
-W Tryb szczegółowy. Powtarza wszystko, co robi podczas ustanawiania połączenia. Jest to bardzo przydatne w debugowaniu błędów połączeń.
  ssh -v user@host>
-X Włącza przekazywanie X11 (przekazywanie GUI).
  ssh -X user@host>

T trzy główne techniki szyfrowania Używany przez SSH.

SSH jest znacznie bezpieczniejszy niż inne protokoły, takie jak telnet, ze względu na szyfrowanie danych. Tam są trzy główne techniki szyfrowania używane przez SSH:

  • Szyfrowanie symetryczne: Szyfrowanie to działa na zasadzie generowania jednego klucza do szyfrowania i deszyfrowania danych. Wygenerowany tajny klucz jest dystrybuowany pomiędzy klientami i hostami w celu zapewnienia bezpiecznego połączenia. Szyfrowanie symetryczne to najbardziej podstawowe szyfrowanie i działa najlepiej, gdy dane są szyfrowane i deszyfrowane na jednym komputerze.
  • Szyfrowanie asymetryczne: To szyfrowanie jest bezpieczniejsze, ponieważ generuje dwa różne klucze: klucz publiczny i prywatny. Klucz publiczny jest dystrybuowany do różnych komputerów hostów, podczas gdy klucz prywatny jest bezpiecznie przechowywany na komputerze klienckim. Za pomocą tej pary kluczy publiczny-prywatny nawiązywane jest bezpieczne połączenie.
  • Haszowanie: Haszowanie jednokierunkowe to technika uwierzytelniania, która gwarantuje, że otrzymane dane nie zostaną zmienione i pochodzą od prawdziwego nadawcy. Funkcja skrótu służy do generowania kodu skrótu z danych. Niemożliwe jest ponowne wygenerowanie danych na podstawie wartości skrótu. Wartość skrótu jest obliczana zarówno po stronie nadawcy, jak i odbiorcy. Jeśli wartości skrótu są zgodne, dane są autentyczne.

Często zadawane pytania dotyczące polecenia `ssh` w systemie Linux.

1) Co oznacza SSH?

SSH oznacza Secure Shell.

2) Do czego służy SSH?

SSH służy do bezpiecznego łączenia się ze zdalnym systemem lub serwerem. Można go używać do przesyłania danych pomiędzy dwoma połączonymi systemami.

dyskretna negacja matematyczna

3) Na jakim porcie działa SSH?

SSh działa na porcie TCP/IP 22.

4) Jak możemy uzyskać dostęp do komputera z systemem Linux za pośrednictwem wiersza poleceń systemu Windows przy użyciu protokołu SSH?

Dostęp do komputera z systemem Linux możemy uzyskać za pomocą polecenia systemu Windows za pomocą protokołu SSH

składnia:

format ciągu Java
  ssh user_name@host(IP/Domaimn_name)>

5) Jak możemy utworzyć klucze publiczno-prywatne za pomocą SSH?

Używając SSH za pomocą polecenia

  ssh-keygen>

6) Jakie są trzy główne techniki szyfrowania stosowane przez SSH?

Trzy główne techniki szyfrowania stosowane przez SSH to:

  • Szyfrowanie symetryczne
  • Szyfrowanie asymetryczne
  • Haszowanie

(Wyjaśniono w powyższym kontekście)

7) Jak używać protokołu SSH do łączenia się ze zdalnym serwerem w systemie Linux?

Zamień ` username`> z Twoją rzeczywistą nazwą użytkownika i ` remote_server_ip`> z adresem IP lub domeną zdalnego serwera.

ssh username@remote_server_ip>

8) Jakie jest polecenie SSH umożliwiające połączenie się z serwerem z określonym portem?

To polecenie łączy się ze zdalnym serwerem przy użyciu portu 2222. W razie potrzeby dostosuj numer portu.

ssh -p 2222 username@remote_server_ip>

9) Jak c an Używam SSH do przesyłania plików pomiędzy moim komputerem lokalnym a serwerem zdalnym?

Używanie SCP do przesyłania plików. To polecenie bezpiecznie kopiuje plik lokalny do określonego miejsca docelowego na serwerze zdalnym. Dostosuj odpowiednio ścieżki i nazwy plików.

scp local_file.txt username@remote_server_ip:/path/to/destination/>

Wniosek

W tym artykule omówiliśmy Secure Shell (SSH), która jest jak tajny, bezpieczny tunel, dzięki któremu komputery mogą bezpiecznie rozmawiać przez Internet. Ten przewodnik jest przeznaczony dla początkujących i pomaga im używać protokołu SSH do łączenia komputera z odległymi serwerami w świecie Linuksa. Obejmuje wszystko, od podstawowego polecenia SSH po wymagania wstępne, takie jak sprawdzenie połączenia internetowego i posiadanie odpowiednich uprawnień. Dowiesz się, jak zainstalować SSH w systemie Linux, tworzyć bezpieczne klucze i używać ich do bezpieczniejszego logowania. W artykule znajdują się także często zadawane pytania z prostymi odpowiedziami, dzięki którym możesz pewnie i bezpiecznie zarządzać zdalnymi serwerami za pomocą protokołu SSH w systemie Linux. To jakby dać swojemu komputerowi tajny kod umożliwiający bezpieczne rozmawianie w Internecie!