Jak korzystać z protokołu SSH w Ubuntu: instalacja i konfiguracja

Możliwości zorganizowania zdalnego dostępu do komputera za pośrednictwem połączenia internetowego istnieją w dużych ilościach. Niektóre z nich są bardzo złożone i są używane wyłącznie przez specjalistów w profesjonalnym środowisku, podczas gdy inne są bardzo proste, a nawet niedoświadczeni użytkownicy mogą je opanować. Pisaliśmy już o kilku metodach, w szczególności o programie TeamViewer i protokole VNC.

Niuanse pracy z protokołem SSH w Ubuntu.

W tym artykule omówimy bezpieczny protokół połączenia SSH, który ostatnio stał się prawie standardem wśród użytkowników Linuksa. Jest bardzo niezawodny, ponieważ obsługuje szyfrowanie i jest również bardzo łatwy w konfiguracji. Rozważymy funkcje protokołu SSH, a także dowiemy się, jak wykonać ustawienia serwera i klienta. Wszystko, czego będziesz wymagać od ciebie, to obecność komputera z zainstalowanym systemem operacyjnym Ubuntu i połączenie z Internetem.

Treść

  • 1 Co to jest protokół SSH
  • 2 Instalowanie SSH w Ubuntu
  • 3 Skonfiguruj SSH w Ubuntu
  • 4 Co można zmienić w ustawieniach SSH
  • 5 Minimalne wymagane polecenia
  • 6 Wniosek

Co to jest protokół SSH

Secure Shell, znany również jako SSH, to specjalny protokół do bezpiecznego zdalnego dostępu do komputera przez połączenie sieciowe.Protokół ma wiele funkcji, w tym organizację bezpiecznego połączenia, uruchamianie terminalowego wiersza poleceń na komputerze, z którym łączy się zdalnie, uruchamianie aplikacji z interfejsem graficznym, przesyłanie plików i wdrażanie sieci prywatnych.

Istnieje wiele narzędzi odpowiedzialnych za zarządzanie protokołem. W systemie operacyjnym Ubuntu najbardziej znanym jest Open SSH. Jest to całkowicie darmowy produkt z otwartą licencją i pełnym zestawem niezbędnych funkcji. Klient do zarządzania połączeniem SSH jest już uwzględniony w dystrybucji Ubuntu, wystarczy zainstalować i skonfigurować składniki serwera. Kontrola odbywa się za pomocą poleceń w terminalu.

Instalowanie SSH w Ubuntu

Ponieważ protokół klienta SSH do zarządzania jest ogólnie akceptowanym standardem, można go zainstalować za pomocą krótkiego polecenia w terminalu Ubuntu. Aby to zrobić, uruchom sam terminal, naciskając kombinację klawiszy na klawiaturze Ctrl + Alt + T, a następnie użyj polecenia sudo apt-get install ssh. Po przygotowaniu do pobrania narzędzie zapyta, czy chcesz kontynuować. Przełącz klawiaturę na rosyjski i naciśnij D. Na komputerze z Ubuntu instalacja ssh zostanie zakończona za kilka sekund.Jeśli chcesz włączyć automatyczne uruchamianie po włączeniu systemu, użyj polecenia sudo systemctl enable sshd dla tego. odpowiednio, jeśli później chcesz usunąć usługę z automatycznego uruchamiania, musisz wyłączyć polecenie sudsh systemctl sshd.

Teraz możesz sprawdzić, jak wszystko działa. Wystarczy spróbować połączyć się z lokalnym serwerem SSH: ssh localhost. Narzędzie poprosi o podanie hasła administratora, a także zaoferuje dodanie wprowadzonego adresu do listy dozwolonych. Jeśli wszystko działa zgodnie z oczekiwaniami, zobaczysz małą wiadomość kończącą się powiadomieniem o dacie ostatniego połączenia z adresem.

Teraz możesz połączyć się z dowolnym komputerem w sieci, jeśli znasz jego adres IP i nazwę użytkownika. Aby to zrobić, w terminalu musisz wpisać polecenie w następującym formacie:

ssh nazwa_użytkownika @ adres_ip

Na przykład, jeśli chcesz połączyć się z komputerem Vasi Pupkin z adresem 132.14.25.10, polecenie będzie wyglądać tak:

ssh [email protected]

Skonfiguruj SSH w Ubuntu

Aby działał poprawnie i bezpiecznie z serwerem SSH, musisz skonfigurować go w określony sposób. Aby to zrobić, musisz edytować plik parametrów sshd_config znajdujący się w katalogu / etc / ssh.Warto zauważyć, że nie można go zmienić, otwierając go po prostu przez menedżera plików w zwykłym edytorze tekstów. System poinformuje Cię o niewystarczających prawach i po prostu nie będzie w stanie zapisać zmian. Dlatego będziesz potrzebował terminala i znajomości kilku poleceń, które omówimy teraz. Rzućmy okiem na kroki niezbędne do skonfigurowania serwera ssh w systemie operacyjnym Ubuntu.

  1. Utwórz kopię zapasową pliku ustawień, aby móc przywrócić oryginalny plik w przypadku jakichkolwiek błędów: sudo cp / etc / ssh / sshd_config /etc/ssh/sshd_config.factory-defaults.
  2. Otwórz plik konfiguracyjny, aby go edytować: sudo nano / etc / ssh / sshd_config.
  3. Wprowadź niezbędne ustawienia (o tym napiszemy później).
  4. Aby zapisać wprowadzone zmiany, naciśnij Ctrl + X, a następnie Y i Enter.
  5. Zrestartuj usługę SSH na swoim komputerze: sudo systemctl restart ssh.
  6. Spróbuj połączyć się ze zdalnym lub lokalnym komputerem przy użyciu nowych ustawień (o tym również napiszemy poniżej).

Co można zmienić w ustawieniach SSH

  • Port. Domyślnie narzędzie korzysta z portu 22. Jeśli nie zostanie zmienione na inne, osoba atakująca może bardzo łatwo uzyskać dostęp do systemu. Aby zmienić numer portu, znajdź wiersz Port 22 i zamień 22 na dowolny inny numer.
  • Protokół. Narzędzie SSH obsługuje dwa protokoły zapewniające lepszą kompatybilność.Jednak protokół 1 jest już uważany za przestarzały i niebezpieczny, dlatego najlepiej jest użyć protokołu 2. Aby go aktywować, znajdź wiersz # Protokół 2, usuń znak # na początku linii. W niektórych przypadkach może być zapis typu Protokół 1, 2. W tym przypadku musisz pozostawić tylko ostatnią wartość.
  • Automatyczny administrator logowania. Nie jest jasne, dlaczego, ale domyślnie ta funkcja jest aktywowana. Jeśli go nie wyłączysz, może to poważnie zaszkodzić bezpieczeństwu. Znajdź wiersz PermitRootLogin w pliku konfiguracyjnym i zastąp wartość prohibit-password nr.
  • Autoryzacja według klucza. Kluczowe połączenie jest najbardziej niezawodne, ponieważ jest prawie niemożliwe do złamania. Musisz znaleźć wiersz PubkeyAuthentication i sprawdzić, czy wartość tego parametru różni się od wymaganego yes. Jak sam stworzyć klucz, powiemy w następnym akapicie.
  • Uzyskaj dostęp do określonej grupy użytkowników. Jeśli chcesz, aby określona grupa użytkowników uzyskała dostęp do komputera zdalnego, a nie tylko do każdego, dodaj na końcu kilka wierszy typu: AllowUsers User1, User2, User3 lub AllowGroups Group1, Group2, Group3, jeśli dotyczy grup. Zastąp użytkownika i grupę konkretnymi nazwami.
  • Umożliwienie uruchomienia aplikacji GUI.Aby dalej uruchamiać aplikacje za pomocą interfejsu graficznego na komputerze zdalnym, zamiast być w treści wiersza poleceń, dodaj wiersz w pliku konfiguracyjnym, pisząc X11Forwarding yes.

Minimalne wymagane polecenia

  • Zezwalanie na użycie portu w zaporze. Jeśli używasz zapory na komputerze Ubuntu do monitorowania połączeń, użyj polecenia zezwalającego na korzystanie z połączenia internetowego za pomocą narzędzia SSH: sudo ufw allow 2222. Zamiast 2222, wpisz numer portu, którego używałeś osobiście.
  • Połącz się z serwerem. Trochę wyżej, już napisaliśmy, jak połączyć się ze zdalnym komputerem, ale nie boli przypomnieć. Wprowadź polecenie takie jak ssh nazwa_użytkownika @ adres_ip, gdzie w pierwszym parametrze wpisz login, aby połączyć się z komputerem, a w drugim - jego adres w sieci.
  • Wykonaj zdalne polecenia. Załóżmy, że musisz zdalnie wykonać dowolne polecenie na komputerze, z którym się łączysz. Aby to zrobić, dodaj polecenie do wykonania do polecenia połączenia z komputerem wskazanym w poprzednim akapicie. na przykład powróćmy na przykład do Vasya Pupkin: ssh [email protected] ls.Polecenie ls zostanie wykonane na zdalnym komputerze.
  • Uwierzytelnianie na serwerze za pomocą klucza. Ponieważ hasło jest bardzo łatwe do odebrania, najbardziej niezawodny i bezpieczny sposób łączenia się z komputerem zdalnym za pośrednictwem sieci będzie korzystał ze specjalnego klucza. Aby go utworzyć, użyj polecenia ssh-keygen -t rsa. Odpowiedz na wszystkie pytania, które program instalacyjny Cię pyta. Następnie wyślij wygenerowany klucz do zdalnego serwera: ssh-copy-id -i ~ / .ssh / id_rsa.pub nazwa_użytkownika @ adres_komputera. Teraz, po podłączeniu do tego komputera zdalnego, hasło nie będzie wymagane, a klucz osobisty zostanie użyty.
  • Przesyłanie plików Czasami konieczne jest przesłanie niektórych plików lub dokumentów do zdalnego komputera. Aby to zrobić, potrzebujesz następującej komendy: scp / location / file nazwa_użytkownika @ adres_komputera: lokalizacja / folder. Oto konkretna próbka oparta na przykładzie Vasya Pupkin): scp /home/text.pdf [email protected]: home / documents. Aby użyć kompresji plików i wysłać całe foldery, użyj polecenia tar komenda czf - / home / user / file | ssh nazwa_użytkownika @ adres_komputera tar -xvzf -C / home / user_folder /.
  • Uruchomienie graficznego interfejsu programów na zdalnym komputerze.Na przykład pracujesz w domu, ale niezbędne oprogramowanie jest zainstalowane na komputerze roboczym. Można go uruchomić zdalnie, a tylko interfejs programu będzie wyświetlany na komputerze domowym, podczas gdy wszystkie obliczenia i przetwarzanie danych będzie wykonywane na działającej maszynie. Jeśli wcześniej aktywowałeś możliwość uruchamiania graficznego interfejsu programów, użyj następującego polecenia: ssh -XC username @ computer_address "nazwa_programu".

Wniosek

Jak widać, nie ma nic trudnego w konfiguracji protokołu ssh na komputerze z systemem operacyjnym Ubuntu. Wystarczy dokładnie dostosować wszystko raz, korzystając z naszych szczegółowych instrukcji i korzystać z funkcji zdalnego dostępu. Jeśli masz jakieś pytania, poproś ich w komentarzach.