Konfiguracja SSH w CentOS 7
SSH (Secure Shell) - protokół do tworzenia szyfrowanego połączenia między klientem a serwerem. Dzięki tej technologii możesz zdalnie sterować komputerem. Interakcja z narzędziem występuje w terminalu i domyślnie jest dodawana do systemu operacyjnego CentOS 7. Dlatego dzisiaj chcielibyśmy szczegółowo rozważyć standardową procedurę konfiguracji, która będzie przydatna dla każdego, kto będzie pracował z SSH.

Skonfiguruj SSH w CentOS 7

Proces konfiguracji jest indywidualny dla każdego administratora systemu, ale nadal jest kilka elementów przydatnych dla wszystkich użytkowników. W tym artykule omówimy nie tylko komponent serwera, ale także komponent klienta, a także wskażemy, które urządzenie wykonuje określoną akcję.

Instalowanie komponentów i uruchamianie serwera

Powiedzieliśmy już, że SSH jest domyślnie dodawany do listy bibliotek systemowych CentOS 7, ale czasami z jakiegoś powodu brakuje na komputerze niezbędnych składników. W takim przypadku będą musieli dodać, a następnie aktywować serwer.

  1. Otwórz Terminal i napisz sudo yum -y install openssh-server openssh-clients tam polecenie sudo yum -y install openssh-server openssh-clients .
  2. Instalacja serwera SSH i klienta w CentOS 7 za pośrednictwem terminala

  3. Uwierzytelnij konto administratora, wprowadzając hasło. Pamiętaj, że znaki wprowadzone w ten sposób nie są wyświetlane w ciągu.
  4. Wprowadzanie hasła do instalacji komponentów SSH w CentOS 7 przez terminal

  5. Uruchom sprawdzanie konfiguracji za pomocą sudo chkconfig sshd on .
  6. Pierwsze polecenie aktywacji usługi SSH w CentOS 7

  7. Następnie uruchom samą usługę SSH, określając service sshd start .
  8. Drugie polecenie aktywacji usługi SSH w CentOS 7

  9. Pozostaje tylko sprawdzić, czy domyślny port jest otwarty. Aby to zrobić, użyj linii netstat -tulpn | grep :22 netstat -tulpn | grep :22 .
  10. Sprawdź, czy port protokołu SSH działa w CentOS 7

Po pomyślnym wykonaniu powyższych instrukcji możesz bezpiecznie przejść na początek konfiguracji. Chcielibyśmy zwrócić uwagę na fakt, że konieczne jest czytanie powiadomień wyświetlanych na ekranie podczas aktywacji poleceń. Mogą wskazywać na wystąpienie pewnych błędów. Szybka korekta wszystkich problemów pomoże uniknąć dalszych problemów.

Edycja pliku konfiguracyjnego

Oczywiście plik konfiguracyjny jest edytowany tylko według uznania administratora systemu. Chcemy jednak pokazać, jak go uruchomić w edytorze tekstu i które elementy należy najpierw podkreślić.

  1. Zalecamy użycie edytora nano , który można zainstalować za pomocą polecenia sudo yum install nano . Po zakończeniu instalacji uruchom plik konfiguracyjny za pomocą sudo nano /etc/ssh/sshd_config .
  2. Przejdź do pliku konfiguracyjnego SSH w CentOS 7

  3. Będziesz zaznajomiony ze wszystkimi dostępnymi opcjami. Niektóre z nich są komentowane, tzn. Przed parametrem znajduje się znak # . Odpowiednio, usuwając ten symbol, usuwasz komentarz z parametru i będzie on ważny. Możesz zmienić standardowy port, zmieniając wartość ciągu „Port” na inny. Ponadto zaleca się zainstalowanie drugiego protokołu przy użyciu „Protokołu 2” . Wtedy poziom bezpieczeństwa wzrośnie.
  4. Edycja pliku konfiguracyjnego SSH w CentOS 7

  5. Te i inne parametry są zmieniane tylko przez preferencje administratora. Szczegółowe informacje o każdym z nich można znaleźć w oficjalnej dokumentacji SSH. Po zakończeniu edycji zapisz zmiany, naciskając klawisz skrótu Ctrl + O.
  6. Nadpisywanie pliku konfiguracyjnego SSH w CentOS 7

  7. Użyj Ctrl + X, aby wyjść z edytora.
  8. Wyjdź z edycji pliku konfiguracyjnego SSH w CentOS 7

  9. Uruchom ponownie usługę za pomocą usługi sudo service sshd restart aby zmiany zaczęły obowiązywać.
  10. Ponowne uruchamianie usług SSH w CentOS 7

  11. Następnie możesz sprawdzić status SSH, aby upewnić się, że działa, poprzez service sshd status .
  12. Sprawdzanie stanu zdrowia serwera SSH w CentOS 7

Edycja pliku konfiguracyjnego zmienia wiele parametrów, ale główny proces - dodawanie i konfigurowanie kluczy - odbywa się za pomocą specjalnych poleceń, o których chcemy dalej mówić.

Tworzenie pary kluczy RSA

Algorytm kryptograficzny RSA (skrót od nazw Rivest, Shamir i Adleman) jest używany przez usługę SSH do tworzenia pary kluczy. Ta akcja umożliwia maksymalne zabezpieczenie części klienta i serwera podczas nawiązywania połączeń. Będziesz musiał użyć obu łańcuchów, aby utworzyć parę kluczy.

  1. Najpierw przejdź do komputera klienckiego i wpisz ssh-keygen w konsoli.
  2. Tworzenie pary kluczy dla klienta w narzędziu SSH w CentOS 7

  3. Po aktywacji pojawi się nowy wiersz, w którym zostaniesz poproszony o określenie ścieżki do zapisania klucza. Jeśli chcesz opuścić domyślną lokalizację, nie wpisuj niczego, ale po prostu naciśnij klawisz Enter .
  4. Wybierz plik, aby zlokalizować parę kluczy klienta SSH w CentOS 7

  5. Następnie tworzona jest fraza hasła. Zapewni bezpieczeństwo przed nieautoryzowanym dostępem do systemu. Po utworzeniu hasła musisz je powtórzyć.
  6. Wprowadzanie hasła dla pary kluczy SSH w CentOS 7

  7. To kończy procedurę generowania. Na ekranie zobaczysz sam klucz i losowy obraz przypisany do niego.
  8. Pomyślne utworzenie pary kluczy dla narzędzia SSH w CentOS 7

Po pomyślnym zakończeniu powyższych wytycznych pojawią się klucze publiczne i prywatne, które zostaną wykorzystane do uwierzytelnienia z serwerem w przyszłości. Jednak aby to zrobić, klucz musi zostać przeniesiony na serwer i wyłączyć wpis hasła.

Kopiowanie klucza publicznego na serwer

Jak wspomniano powyżej, kopiowanie klucza jest niezbędne do dalszego uwierzytelniania bez hasła. Wykonanie takiej akcji może być jednym z trzech sposobów, z których każdy będzie najbardziej optymalny w pewnych sytuacjach. Przyjrzyjmy się im wszystkim w porządku.

Narzędzie Ssh-copy-id

Kopiowanie klucza publicznego za pomocą narzędzia ssh-copy-id jest najłatwiejszą metodą. Jednak jest to odpowiednie tylko wtedy, gdy to narzędzie jest obecne na komputerze. Musisz zarejestrować tylko jedną ssh-copy-id username@remote_host , gdzie nazwa_użytkownika @ remote_host to nazwa użytkownika i host zdalnego serwera.

Kopiowanie kluczy za pomocą specjalnego narzędzia SSH w CentOS 7

Jeśli połączenie zostanie nawiązane po raz pierwszy, na ekranie pojawi się komunikat o podobnym charakterze:

The authenticity of host '111.111.11.111 (111.111.11.111)' can't be established.
ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe.
Are you sure you want to continue connecting (yes/no)?

Oznacza to, że serwer nie znajduje się na liście zaufanych źródeł i zostanie zapytany, czy warto nawiązać dalsze połączenie. Wybierz opcję yes .

Potwierdzenie pierwszego logowania do zdalnego komputera SSH w CentOS 7

Pozostaje tylko wprowadzić hasło do konta serwera, a procedura kopiowania za pomocą wyżej wymienionego narzędzia zostanie zakończona pomyślnie.

Wprowadzanie hasła do zdalnego logowania do komputera SSH w CentOS 7

Kopiowanie klucza publicznego przez SSH

W przypadku braku narzędzia ssh-copy-id zalecamy korzystanie ze standardowych funkcji narzędzia SSH, jeśli oczywiście masz dostęp do konta serwera. Rozładunek kluczy odbywa się za pomocą zwykłego połączenia, a mianowicie:

  1. Komenda cat umożliwia czytanie i natychmiastowe dodawanie klucza do pliku na komputerze serwera. Aby to zrobić, wpisz po prostu cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys" cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys" , gdzie nazwa_użytkownika @ zdalny_host to nazwa konta i hosta komputera zdalnego. Zauważ, że opcja >> doda klucz do końca pliku i nie zastąpi go całkowicie. Dlatego wcześniej wprowadzone klucze również zostaną zapisane.
  2. Automatyczne kopiowanie kluczy przez połączenie SSH w CentOS 7

  3. Aby połączyć, wprowadź hasło.
  4. Wybierz lokalizację, aby zapisać skopiowane klucze SSH w CentOS 7

  5. Nie zapomnij zrestartować serwera za pomocą sudo service sshd restart aby zaktualizować listy kluczy.

Ręczna kopia klucza publicznego

Czasami zdarzają się sytuacje, w których niemożliwe jest użycie narzędzia ssh-copy-id , a także brak dostępu do hasła. Następnie kopiowanie odbywa się ręcznie.

  1. Najpierw znajdź ten klucz za pomocą znanego polecenia cat , wpisując cat ~/.ssh/id_rsa.pub w konsoli.
  2. Sprawdź zawartość pliku za pomocą kluczy w terminalu SSH w CentOS 7

  3. Skopiuj jego zawartość do osobnego pliku.
  4. Wyświetl utworzony klucz publiczny SSH w CentOS 7

  5. Połącz się ze zdalnym komputerem za pomocą dowolnej wygodnej metody i utwórz katalog mkdir -p ~/.ssh . Komenda nic nie zrobi, jeśli katalog już istnieje.
  6. Utwórz folder do przechowywania klucza publicznego SSH w CentOS 7

  7. Pozostaje tylko wprowadzić dane do pliku „authorized_keys” . Komenda echo public_key_string >> ~/.ssh/authorized_keys doda klucz do pliku lub najpierw utworzy plik, jeśli go brakuje. Zamiast „public_key_string”, musisz wstawić poprzednio otrzymany łańcuch kluczem.
  8. Skopiuj klucz publiczny do zdalnego komputera SSH w CentOS 7

To zakończy pomyślnie procedurę kopiowania kluczy. Z tego powodu uwierzytelnianie serwera jest teraz dostępne po wprowadzeniu ssh username@remote_host . Można jednak połączyć się za pomocą hasła, co obniża bezpieczeństwo takiej sieci.

Wyłącz uwierzytelnianie hasła

Wyłączenie możliwości logowania za pomocą hasła, z pominięciem klucza, czyni takie zdalne połączenie mniej bezpiecznym. Dlatego zaleca się wyłączenie tej funkcji, aby zapobiec nieautoryzowanemu uwierzytelnieniu przez intruzów.

  1. Na zdalnym serwerze uruchom plik konfiguracyjny SSH poprzez sudo nano /etc/ssh/sshd_config .
  2. Otwórz plik konfiguracyjny do edycji SSH w CentOS 7

  3. Znajdź parametr PasswordAuthentication i zmień wartość na no .
  4. Wyłącz wpisywanie hasła dla SSH w CentOS 7

  5. Zapisz zmiany i zakończ pracę w edytorze tekstu.
  6. Zapisz zmiany w pliku konfiguracyjnym SSH w CentOS 7

  7. Nowy parametr zacznie obowiązywać dopiero po ponownym sudo systemctl restart sshd.service .
  8. Uruchom ponownie usługę po zmianach konfiguracji SSH w CentOS 7

Ten artykuł, w którym zapoznałeś się z podstawowymi punktami konfiguracji protokołu SSH, dobiega końca. Zdecydowanie zalecamy sprawdzenie zawartości wyjścia po aktywacji poleceń, ponieważ czasami występują opisy błędów. Poszukaj ich rozwiązania w oficjalnej dokumentacji narzędzia lub dystrybucji CentOS.