W skrócie, SSH lub „Secure Shell” jest zaszyfrowanym protokołem, z którym można zdalnie połączyć się z serwerem i mieć dostęp do powiązanych z nim informacji. Zapewnia znacznie bezpieczniejszy sposób rejestrowania, aby zapewnić bezpieczny sposób logowania się bez uszczerbku dla bezpieczeństwa.
Krok 1: Utwórz parę kluczy
Zaczniemy od utworzenia pary kluczowej w systemie klienta z dostępem do korzenia według typu:
$ ssh-keygen
To uruchamia najnowsze ssh-keygen, aby domyślnie tworzyć 3072-bitową parę klawiszy RSA. Możesz dodać flagę -B 4086, aby wygenerować większy klucz. Naciśnij Enter, a zapleci parę kluczową .SSH/ Subrectory. Pamiętaj, że jeśli jesteś gościem na serwerze, który miał już zainstalowany klucz, monit zapyta, czy chcesz go zastąpić, czy nie. Jeśli tak jest, wpisz „y”, aby zasygnalizować tak.
Następnie wiersz zapyta Cię, czy chcesz dodać hasło. Możesz zrezygnować, ale zalecamy dodanie jednego. Wzmacnia protokół bezpieczeństwa, obsługując dodatkową warstwę ochrony do ominięcia dla nieautoryzowanego użytkownika.
Krok 2: Skopiuj klucz publiczny na swój serwer
Następnie musimy przenieść klucz publiczny na Twój serwer Ubuntu.
Możesz użyć narzędzia SSH-Copy-ID, używając następującego polecenia:
$ ssh-copy-id nazwa użytkownika@server_host
To powinno załatwić sprawę w ciągu zaledwie kilku sekund. Jeśli klucz został pomyślnie skopiowany, przejdź na trzeci krok.
Czasami tak się zdarza, że metoda SSH-Copy-ID kończy się niepowodzeniem lub po prostu nie jest dostępna. W takim przypadku musisz go skopiować za pośrednictwem SSH opartych na hasłach. Można to zrobić za pomocą polecenia CAT i upewnij się, że dodaj symbol >>, aby dodać do zawartości zamiast go zastąpić.
$ cat ~/.ssh/id_rsa.pub | ssh remote_username@server_ip_address
"mkdir -p ~//.ssh && cat >> ~/.ssh/autoryzowane_keys "
Jeśli po raz pierwszy łączysz się z nowym hostem, Twój system pokaże ci coś takiego:
Po prostu wpisz tak i naciśnij przycisk Enter. Następnie wprowadź hasło do konta dostępu użytkownika, a klawisz publiczny zostanie skopiowany do serwera Ubuntu.
Na wypadek, gdyby dostęp do SSH oparty na hasłach z jakiegoś powodu nie możesz po prostu skopiować klucza publicznego ręcznie. Dodaj ~//.ssh/autoryzowane_keys do id_rsa.plik pubowy na zdalnym komputerze. Następnie zaloguj się na konto zdalnego serwera i sprawdź, czy istnieje katalog ~ ssh. Jeśli nie, wpisz:
$ mkdir -p ~//.ssh
Teraz musisz tylko dodać klucz:
$ echo public_key_string >> ~/.ssh/autoryzowane_keys
$ chmod -r go = ~/.ssh
Upewnij się również, że używasz ~ ssh/ UŻYTKOWNIK katalog i NIE Katalog główny:
$ chown -r Younis: Younis ~/.ssh
Krok 3: Uwierzytelnij klucze SSH
Następnym krokiem jest uwierzytelnienie klawiszy SSH na serwerze Ubuntu. Najpierw zaloguj się do swojego zdalnego hosta:
$ SSH Nazwa użytkownika@remote_host
Zostaniesz poproszony o wprowadzenie klawisza fraz, który dodałeś w kroku 2. Wpisz to i kontynuuj. Uwierzytelnianie zajmie trochę czasu, a kiedy już skończy, zostaniesz zabrany do nowej interaktywnej powłoki na serwerze Ubuntu
Krok 4: Wyłącz uwierzytelnianie hasła
Dzięki uwierzytelnionym klawiszom SSH nie potrzebujesz już systemu uwierzytelniania hasła.
Jeśli uwierzytelnianie hasła jest włączone na serwerze, nadal będzie podatne na nieautoryzowany dostęp użytkownika za pośrednictwem ataków Brute Force. Byłoby więc lepiej, jeśli wyłączysz dowolne uwierzytelnianie oparte na hasłach.
Najpierw sprawdź, czy masz uwierzytelnianie oparte na Key SSH przygotowane do źródło Konto na tym serwerze. Jeśli tak, powinieneś zmienić to na konto dostępu do uprzywilejowanego użytkownika SUDO na tym serwerze, aby dostęp do administratora był otwarty dla Ciebie w przypadku awaryjnego lub gdy system staje w obliczu podejrzanych działań.
Po przyznaniu uprawnień administratora na konto zdalnego dostępu, zaloguj się na zdalnym serwerze z klawiszami SSH z uprawnieniami root lub sudo. Następnie użyj następującego polecenia, aby uzyskać dostęp do pliku konfiguracyjnego Demona SSH:
$ sudo gedit/etc/ssh/sshd_config
Po otwartym pliku wyszukaj katalog „hasłoAuthentication” i wpisz następująco, aby wyłączyć uwierzytelnianie hasła i loginy SSH oparte na hasłach.
$/etc/ssh/sshd_config
…
Hasło Automatyka nr
…
Aby zobaczyć te zmiany, musisz ponownie uruchomić usługę SSHD za pomocą następującego polecenia:
$ sudo systemctl restart ssh
Jako środek ostrożności otwórz nowe okno terminalu i sprawdź, czy usługa SSH działa poprawnie przed zamknięciem bieżącej sesji.
Dzięki weryfikowanym klawiszy SSH powinieneś być w stanie zobaczyć wszystko, co działa normalnie. Możesz wyjść z wszystkich bieżących sesji serwerowych.
Wniosek
Teraz, gdy masz system uwierzytelniania oparty na Key SSH, nie potrzebujesz już wrażliwego systemu uwierzytelniania hasła, ponieważ możesz po prostu zalogować się bez hasła. Mam nadzieję, że ten samouczek był pomocny.