Technologia SSH (Secure Shell) pozwala bezpiecznie zarządzać komputera za pomocą bezpiecznego połączenia. SSH produkuje zaszyfrowane wszystkie przesyłane pliki, w tym hasła, a także przesyła całkowicie dowolnego protokołu sieciowego. Aby poprawnie pracować, musi być nie tylko instalowany, ale także skonfigurowany. Chodziło o produkt głównej konfiguracji, którą chcielibyśmy porozmawiać pod tym artykułem, podejmując najnowszą wersję systemu operacyjnego Ubuntu na przykład, który będzie znajdujący serwer.
Skonfiguruj SSH w Ubuntu
Jeśli nie ukończyłeś jeszcze instalacji do komputera serwera i klienta, należy to zrobić początkowo, korzyść z całej procedury jest dość prosta i nie zajmie dużo czasu. Z szczegółowym podręcznikiem na tym temacie spełniają inny artykuł na poniższym ogniu. Pokazuje również procedurę edycji pliku konfiguracyjnego i testowania ssh, więc dziś skupimy się trochę na innych zadaniach.Czytaj więcej: Instalowanie SSH-Server w Ubuntu
Tworzenie pary kluczy RSA
W nowo zainstalowanym SSH nie ma więcej określonych kluczy do połączenia z serwera do klienta i odwrotnie. Wszystkie te parametry muszą być ustawione ręcznie natychmiast po dodaniu wszystkich elementów protokołu. Para kluczy pracuje przy użyciu algorytmu RSA (redukcja nazw deweloperów Rivest, Shamir i Adleman). Dzięki temu kryptosystemowi klucze są szyfrowane przez specjalne algorytmy. Aby utworzyć parę otwartych kluczy, wystarczy wprowadzić odpowiednie polecenia w konsoli i postępuj zgodnie z instrukcjami wyświetlanymi.
- Idź do pracy z "Terminalem" przez dowolną wygodną metodę, na przykład, otwierając go przez menu lub kombinację klucza Ctrl + Alt + T.
- Wprowadź polecenie SSH-Keygen, a następnie kliknij przycisk Enter.
- Proponuje się utworzenie pliku, w którym zostaną zapisane klucze. Jeśli chcesz zostawić je w miejscu wybranym domyślnie, po prostu kliknij Enter.
- Klucz publiczny może być chroniony przez frazę kodową. Jeśli chcesz użyć tej opcji, napisz hasło w pojawił się ciąg. Znaki wkładania nie będą wyświetlane. W nowej linii będzie musiała go powtórzyć.
- Następnie zobaczysz powiadomienie, że klucz został zapisany i możesz również zapoznać się z losowym obrazem graficznym.
Teraz jest para klientów - tajemnica i otwarta, aby być użyta do dalszego połączenia między komputerami. Wystarczy umieścić klucz do serwera, aby uwierzytelnianie SSH zakończy się sukcesem.
Skopiuj otwarty klucz do serwera
Istnieją trzy kluczowe metody kopiowania. Każdy z nich będzie najbardziej optymalny w różnych sytuacjach, gdy na przykład jeden ze sposobów nie działa lub nie jest odpowiedni dla określonego użytkownika. Proponujemy rozważyć wszystkie trzy opcje, zaczynając od najprostszego i skutecznego.
Opcja 1: polecenie ssh-copy-id
Komenda SSH-Copy-ID jest wbudowana w system operacyjny, więc nie musi instalować żadnych dodatkowych komponentów do jego wykonania. Przestrzegaj prostej składni, aby skopiować klucz. W terminalu musisz wprowadzić nazwę użytkownika SSH-Copy-ID, gdzie nazwa_użytkownika @ Remote_host jest nazwą komputera zdalnego.
Po pierwszym połączeniu otrzymasz powiadomienie z tekstem:
Nie można ustalić autentyczności hosta "203.0.113.1 (203.0.113.1)".
ECDSA Key Fingerprint jest FD: FD: D4: F9: 77: FE: 73: 84: E1: 55: 00: AD: D6: 6D: 22: Fe.
Czy na pewno chcesz kontynuować łączenie (tak / nie)? TAk
Musisz określić opcję Tak, aby kontynuować połączenie. Po tym narzędzie niezależnie wyszuka klucz jako plik ID_RSA.Pub, który wcześniej został utworzony. Podczas pomyślnego wykrywania wynik ten zostanie wyświetlony:
USR / BIN / SSH-COPY-ID: INFO: Próba zalogowania się za pomocą nowego klawisza (ów), aby odfiltrować dowolne, które są zainstalowane
/ USR / BIN / SSH-COPY-ID: Info: 1 Klucz (y) pozostają do zainstalowania - jeśli pojawi się monit teraz, aby zainstalować nowe klucze
[email protected] Hasło:
Określ hasło od zdalnego hosta, aby narzędzie mogło ją wprowadzić. Narzędzie skopiuje dane z pliku klucza publicznego ~ / .ssh / id_rsa.pub, a następnie na ekranie pojawi się komunikat:
Liczba (y) dodanych: 1
Teraz spróbuj zalogować się do maszyny, a: "SSH" [email protected] ""
I sprawdź, czy dodano tylko kluczem (y).
Pojawienie się takiego tekstu oznacza, że klucz został pomyślnie załadowany na komputerze zdalnym i nie pojawi się już żadnych problemów z połączeniem.
Opcja 2: Kopiowanie otwartego klucza przez ssh
Jeśli nie możesz użyć powyższego narzędzia, ale jest hasło do wprowadzenia zdalnego serwera SSH, możesz ręcznie przesłać swój klucz użytkownika, zapewniając w ten sposób dalsze stabilne uwierzytelnianie po podłączeniu. Jest używany do tego polecenia kota, które odczytuje dane z pliku, a następnie zostaną wysłane na serwer. W konsoli musisz wprowadzić ciąg.
Cat ~ / .ssh / id_rsa.pub | SSH Nazwa użytkownika @ Remote_host "Mkdir -p ~ / .ssh && Touch ~ / .ssh / authorized_keys && chmod -r go = ~ / .ssh && cat >> ~ / .ssh / authorized_keys".
Po pojawieniu się komunikatu
Nie można ustalić autentyczności hosta "203.0.113.1 (203.0.113.1)".
ECDSA Key Fingerprint jest FD: FD: D4: F9: 77: FE: 73: 84: E1: 55: 00: AD: D6: 6D: 22: Fe.
Czy na pewno chcesz kontynuować łączenie (tak / nie)? TAk
Kontynuuj połączenie i wprowadź hasło, aby wprowadzić serwer. Następnie klucz publiczny zostanie automatycznie skopiowany do końca pliku konfiguracyjnego autoryzowanego_keys.
Opcja 3: Ręczna kopiowanie klucza otwartego
W przypadku braku dostępu do komputera zdalnego za pomocą serwera SSH wszystkie opisane powyżej działania są wykonane ręcznie. Aby to zrobić, najpierw skontaktuj się z informacją o kluczowym komputerze PC za pośrednictwem komendy Cat ~ / .SSH / id_rsa.pub.
Ekran zostanie wyświetlony w przybliżeniu taki ciąg: klawisz SSH-RSA + jako zestaw znaków == DEMO @ Test. Po tym przejdź do pracy na zdalnym urządzeniu, w którym utworzysz nowy katalog przez MKDIR -P ~ / .ssh. Dodatkowo tworzy plik autoryzowany_keys. Następnie wstaw klucz tam, którego nauczyłeś się wcześniej za pomocą Echo + wiersz kluczy publicznych >> ~ / .ssh / authorized_keys. Następnie możesz spróbować przeprowadzić uwierzytelnianie z serwerem bez użycia haseł.
Uwierzytelnianie na serwerze za pomocą utworzonego klucza
W poprzedniej sekcji dowiedziałeś się o trzech metodach do kopiowania zdalnego klucza komputera na serwer. Takie działania pozwolą Ci połączyć się bez hasła. Procedura ta jest wykonywana za pośrednictwem wiersza poleceń, wprowadzając nazwę SHH SSH Username @ Remote_host, gdzie nazwa użytkownika @ Remote_host jest nazwą użytkownika i nazwa komputera hosta. Po pierwszym połączeniu zostaniesz powiadomiony o nieznanym połączeniu i możesz kontynuować, wybierając opcję Tak.
Połączenie zostanie automatycznie nastąpi, jeśli fraza klucza (hasło) nie została określona podczas tworzenia pary kluczy. W przeciwnym razie najpierw musisz przedstawić go kontynuować pracę z SSH.
Wyłącz uwierzytelnianie hasła
Udane konfigurowanie kopiowania kluczowego jest rozpatrywane w tej sytuacji, gdy można wprowadzić serwer bez użycia hasła. Jednak możliwość uwierzytelniania umożliwia zatem atakujący używać narzędzi do wyboru hasła i pęknięcia chronionego połączenia. Złącznie się z takich przypadków umożliwi pełnoprawne wprowadzanie hasła w pliku konfiguracyjnym SSH. Będzie to wymagać:
- W terminalu otwórz plik konfiguracyjny przez edytor za pomocą polecenia sudo gegdit / etc / ssh / sshd_config.
- Znajdź linię PasswordAuthentication i wyjmij # znak na początku, aby zmierzyć parametr.
- Zmień wartość na nie i zapisz bieżącą konfigurację.
- Zamknij edytora i uruchom ponownie serwer Sudo Systemctl Restart SSH.
Uwierzytelnianie hasła wyłączy się i wprowadź serwer może być używany tylko za pomocą klawiszy specjalnie utworzonych dla tego za pomocą algorytmu RSA.
Konfigurowanie standardowej zaporę
W Ubuntu domyślna firewall jest nieskomplikowana zapora firewall (UFW). Umożliwia rozwiązanie połączeń dla wybranych usług. Każda aplikacja tworzy własny profil w tym narzędziu, a UFW kontroluje je, umożliwiając lub niepokojące połączenie. Ustawianie profilu SSH przez dodanie go do listy jest przeprowadzane w ten sposób:
- Otwórz listę profili zapory przez polecenie Lista aplikacji Sudo UFW.
- Wprowadź hasło z konta, aby wyświetlić informacje.
- Zobaczysz arkusz dostępnych aplikacji, musi być wśród nich openSsh.
- Teraz powinieneś rozwiązać połączenia przez SSH. Aby to zrobić, dodaj go do listy dozwolonych profili za pomocą Sudo UFW zezwalaj na OpenSSH.
- Włącz zaporę, aktualizując zasady, Sudo UFW Enable.
- W przypadku przekonań jest to, że połączenia są dozwolone, status Sudo UFW powinien być przepisany, po którym zobaczysz status sieci.
W tym celu nasze instrukcje konfiguracji SSH w Ubuntu są zakończone. Dalsze ustawienia pliku konfiguracyjnego i innych parametrów są osobiście przeprowadzane przez każdego użytkownika pod jego żądaniami. Możesz zapoznać się z działaniem wszystkich składników SSH w oficjalnej dokumentacji protokołu.