Skonfiguruj uwierzytelnianie klucza OpenSSH (bez hasła) na serwerze Ubuntu 16.04 LTS

  • Vovich Masterovich
  • 0
  • 4208
  • 215

Czy masz dość wpisywania haseł za każdym razem, gdy logujesz się do sesji OpenSSH na serwerach Ubuntu? Poniższe kroki mogą pomóc w skonfigurowaniu uwierzytelniania za pomocą klucza SSH, w którym nigdy więcej nie trzeba wpisywać hasła (hasło mniej)…

Jeśli czytasz ten post, prawdopodobnie wiesz co nieco o OpenSSH. Bez wchodzenia w zbyt wiele szczegółów, SSH, który jest akronimem dla Secure Shell, to protokół komunikacyjny, który umożliwia bezpieczną komunikację między komputerami w sieci.

Przed SSH najczęstszym sposobem łączenia się ze zdalnym terminalem były programy Telnet. Telnet zapewniał sposób łączenia się ze zdalnymi serwerami, ale nie robił tego w bezpieczny sposób.

OpenSSH jest teraz podstawowym sposobem zdalnego łączenia się z sesjami terminali i zarządzania serwerami… poniższe kroki pokazują, jak skonfigurować SSH, aby zezwalał tylko na klucz jako sposób uwierzytelniania…

Aby rozpocząć, kontynuuj poniżej:

Krok 1: Zainstaluj Secure SHell na serwerze Ubuntu 16.04

Zanim komputer klienta będzie mógł łączyć się za pośrednictwem protokołu SSH, musisz najpierw zainstalować go na serwerze… aby to zrobić w systemie Ubuntu, uruchom poniższe polecenia

sudo apt-get update sudo apt-get -y install openssh-server

Po zainstalowaniu uruchom poniższe polecenia, jeśli nie zostało jeszcze rozpoczęte…

sudo systemctl uruchom ssh

Krok 2: Wygeneruj maszyny Linux z kluczem SSH klienta

Po zainstalowaniu serwera SSH zaloguj się do komputera klienckiego, którego będziesz używać do uzyskania dostępu do serwera, i uruchom poniższe polecenia, aby wygenerować parę kluczy RSA dla komputera klienckiego.

ssh-keygen -t rsa

Po uruchomieniu powyższego polecenia zobaczysz podobne monity poniżej. Wypełnij monity, jak zaznaczono poniżej…

Generowanie pary kluczy publiczny / prywatny rsa. Wprowadź plik, w którym chcesz zapisać klucz (/home/richard/.ssh/id_rsa): Naciśnij Enter Utworzony katalog '/home/richard/.ssh'. Wprowadź hasło (puste, brak hasła): Naciśnij Enter Wprowadź ponownie to samo hasło: Naciśnij Enter Twoja identyfikacja została zapisana w /home/richard/.ssh/id_rsa. Twój klucz publiczny został zapisany w /home/richard/.ssh/id_rsa.pub. Kluczowy odcisk palca to: Naciśnij Enter SHA256: l6lb + u65p9CHd3IhGFL5kLTdOyC / tzmiq12JauWfvJo richard @ ubuntu1710 Obraz losowy klucza to: + --- [RSA 2048] ---- + | .oo | | . + o. | | . + oo. | | . B… | | S = o + | | + .o + o | | oo = B + | | .B.Bo * .o | | . == EO = oo. | + ---- [SHA256]-----+ 

Za pomocą powyższego polecenia zostanie utworzona para kluczy klienta SSH i zapisana w wyróżnionym katalogu folderu domowego.

Krok 3: Skopiuj klucz SSH klienta na serwer.

Aby włączyć uwierzytelnianie SSH bez hasła, skopiuj publiczny klucz SSH klienta do magazynu kluczy serwera. Klucz publiczny klienta wyeksportowany na serwer zostanie użyty do uwierzytelnienia zamiast haseł. Zapewnia to lepsze bezpieczeństwo niż uwierzytelnianie hasłem.

Aby skopiować publiczny klucz SSH klienta na serwer, postępuj zgodnie z poniższym formatem… na przykład… aby skopiować konto użytkownika o nazwie richard publiczny klucz SSH na serwer, uruchom to… konto o nazwie Richard powinien już być utworzony na serwerze i móc łączyć się przez SSH przy użyciu haseł…

ssh-copy-id [email protected]

Zastąp richarda nazwą konta na serwerze i użyj adresu IP serwera lub nazwy hosta do połączenia.

[Richard.PenguinPC] ➤ ssh-copy-id [email protected] Na stałe dodano adres „192.168.6.129” (ECDSA) do listy znanych hostów. hasło [email protected]:

Po przesłaniu klucza publicznego klienta na serwer przejdź i skonfiguruj serwer SSH tak, aby nigdy nie zezwalał na wpisywanie hasła. Dozwoleni będą tylko klienci, których klucze publiczne są przechowywane na serwerze.

Poniżej znajduje się, co zobaczysz po pomyślnym przesłaniu klucza na serwer…

INFO: Źródło kluczy do zainstalowania: „/home/richard/.ssh/id_rsa.pub” Nie można ustalić autentyczności hosta '192.168.43.133 (192.168.43.133)'. Odcisk cyfrowy klucza ECDSA to SHA256: ZQUOMiT7a13GoalwFmeOqlO2K3rotKLcsoljV8UBOy4. Czy na pewno chcesz kontynuować łączenie (tak / nie)? tak / usr / bin / ssh-copy-id: INFO: próba zalogowania się przy użyciu nowych kluczy, aby odfiltrować wszystkie już zainstalowane / usr / bin / ssh-copy-id: INFO: 1 klucz ( s) pozostają do zainstalowania - jeśli pojawi się teraz monit, należy zainstalować nowe klucze [email protected] hasło: wpisz hasło richard na serwerze Liczba dodanych kluczy: 1 Teraz spróbuj zalogować się do urządzenia , z: „ssh '[email protected]'” i sprawdź, czy zostały dodane tylko żądane klucze. 

Aby hakerzy mogli uzyskać dostęp do twojego serwera, muszą już mieć publiczne klucze SSH swoich klientów na serwerze, co będzie bardzo trudne, jeśli klienci nie będą mogli się połączyć.

Krok 4: Konfiguracja serwera openSSH

Na koniec otwórz plik konfiguracyjny serwera openSSH i wprowadź następujące wyróżnione zmiany

sudo nano / etc / ssh / sshd_config

Wprowadź wyróżnione zmiany, jak pokazano poniżej:

# Uwierzytelnianie: LoginGraceTime 120 PermitRootLogin prohibit-password StrictModes tak RSAAuthentication tak PubkeyAuthentication tak AuthorizedKeysFile% h / .ssh / authorised_keys # Aby włączyć puste hasła, zmień na tak (NIE ZALECANE) PermitEmptyPasswords nie # Zmień na tak, aby włączyć odpowiedź na wyzwanie problemy z # niektórymi modułami i wątkami PAM) ChallengeResponseAuthentication no # Zmień na no, aby wyłączyć tunelowane hasła w postaci zwykłego tekstu Hasło Uwierzytelnianie nie 

Po wprowadzeniu powyższych zmian zapisz plik i uruchom ponownie SSH.

sudo systemctl zrestartuj ssh

Teraz spróbuj zalogować się z komputera klienta, a zostaniesz automatycznie zalogowany przy użyciu klucza SSH klienta.

ssh [email protected]

Witamy w Ubuntu 16.04.3 LTS (GNU / Linux 4.4.0-109-generic x86_64) * Dokumentacja: https://help.ubuntu.com * Zarządzanie: https://landscape.canonical.com * Wsparcie: https: / /ubuntu.com/advantage Można zaktualizować 0 pakietów. Aktualizacje 0 to aktualizacje zabezpieczeń. Ostatnie logowanie: wt., 16 stycznia, 07:16:38 2018, od 192.168.43.1 richard @ ubuntu1604: ~ $ 

Powinieneś automatycznie zalogować się bez wpisywania hasła. Otóż ​​to!

Podczas próby zalogowania się z klienta, którego klucze nie są jeszcze zainstalowane na serwerze, zostanie wyświetlony następujący komunikat:

Cieszyć się!

Możesz również polubić ten post:

Skonfiguruj Nginx HTTP / HTTPS i przekierowania domeny na serwerach Ubuntu 16.04 LTS




Jeszcze bez komentarzy

Zbiór przydatnych informacji o systemie operacyjnym Linux i nowych technologiach
Świeże artykuły, praktyczne wskazówki, szczegółowe recenzje i poradniki. Poczuj się jak w domu w świecie systemu operacyjnego Linux