Android

Generuj klucze ssh w systemie Windows za pomocą puttygen

Uwierzytelnianie do serwera SSH w Linux z wykorzystaniem klucza asymetrycznego i aplikacji Putty

Uwierzytelnianie do serwera SSH w Linux z wykorzystaniem klucza asymetrycznego i aplikacji Putty

Spisu treści:

Anonim

Secure Shell (SSH) to kryptograficzny protokół sieciowy używany do bezpiecznego połączenia między klientem a serwerem i obsługuje różne mechanizmy uwierzytelniania.

Dwa najpopularniejsze mechanizmy to uwierzytelnianie oparte na hasłach i uwierzytelnianie oparte na kluczu publicznym. Korzystanie z kluczy SSH jest bezpieczniejsze i wygodniejsze niż tradycyjne uwierzytelnianie hasłem.

W tym samouczku wyjaśniono, jak generować klucze SSH w systemie Windows za pomocą PuTTYgen. Pokażemy również, jak skonfigurować uwierzytelnianie oparte na kluczu SSH i połączyć się ze zdalnymi serwerami Linux bez wprowadzania hasła.

Pobierz PuTTYgen

PuTTYgen to narzędzie typu open source, które pozwala generować klucze SSH dla najpopularniejszego klienta Windows SSH PuTTY.

PuTTYgen jest dostępny jako samodzielny plik wykonywalny i jest również częścią pakietu instalacyjnego PuTTY.msi. Jeśli nie masz zainstalowanego PuTTYgen, przejdź na stronę pobierania PuTTY i pobierz pakiet instalacyjny PuTTY. Instalacja jest prosta, kliknij dwukrotnie pakiet instalacyjny i postępuj zgodnie z instrukcjami.

Tworzenie kluczy SSH za pomocą PuTTYgen

Aby wygenerować parę kluczy SSH w systemie Windows za pomocą PuTTYgen, wykonaj następujące czynności:

  1. Uruchom narzędzie PuTTYgen, klikając dwukrotnie plik.exe lub przechodząc do menu Start systemu Windows → PuTTY (64-bit) → PuTTYgen.

    Dla „Typ klucza do wygenerowania” pozostaw domyślny RSA. „Liczba bitów w wygenerowanym kluczu” 2048 jest wystarczająca dla większości ludzi. Możesz też zmienić go na 4096.

    Kliknij przycisk „Generuj”, aby rozpocząć proces generowania nowej pary kluczy.

    Zostaniesz poproszony o przesunięcie myszy nad pustym obszarem sekcji Klucz, aby wygenerować losowość. W miarę przesuwania wskaźnika przesuwa się zielony pasek postępu. Proces ten powinien potrwać kilka sekund.

    Po zakończeniu procesu generowania klucz publiczny zostanie wyświetlony w oknie.

    Opcjonalnie, jeśli chcesz użyć hasła, wpisz je w polu „Kluczowe hasło” i potwierdź to samo hasło w polu „Potwierdź hasło”. Jeśli zdecydujesz się na użycie hasła, zyskasz dodatkową warstwę bezpieczeństwa, chroniąc klucz prywatny przed nieautoryzowanym użyciem.

    Zapisz klucz prywatny, klikając przycisk „Zapisz klucz prywatny”. Możesz zapisać plik w dowolnym katalogu przy użyciu rozszerzenia.ppk (klucz prywatny PuTTY), ale zaleca się zapisanie go w miejscu, w którym można go łatwo znaleźć. Często używa się opisowej nazwy pliku klucza prywatnego.

    Opcjonalnie możesz również zapisać klucz publiczny, choć można go później odtworzyć, ładując klucz prywatny.

    Kliknij prawym przyciskiem myszy pole tekstowe z etykietą „Klucz publiczny do wklejenia do pliku kluczy autoryzowanych OpenSSH” i wybierz wszystkie znaki, klikając „Wybierz wszystko”. Otwórz edytor tekstu, wklej znaki i zapisz go. Upewnij się, że wklejasz cały klucz. Wskazane jest, aby zapisać plik w tym samym katalogu, w którym zapisano klucz prywatny, używając tej samej nazwy klucza prywatnego i.txt lub.pub jako rozszerzenia pliku.

    To jest klucz, który dodasz do swojego serwera Linux.

Skopiuj klucz publiczny na swój serwer Linux

Po wygenerowaniu pary kluczy SSH następnym krokiem jest skopiowanie klucza publicznego na serwer, którym chcesz zarządzać.

Uruchom program PuTTY i zaloguj się do zdalnego serwera Linux.

Jeśli katalog SSH użytkownika nie istnieje, utwórz go za pomocą komendy mkdir i ustaw odpowiednie uprawnienia:

mkdir -p ~/.ssh chmod 0700 ~/.ssh

Otwórz edytor tekstu i wklej klucz publiczny skopiowany w kroku 4 podczas generowania pary kluczy do pliku ~/.ssh/authorized_keys :

nano ~/.ssh/authorized_keys

Cały tekst klucza publicznego powinien znajdować się w jednym wierszu.

Uruchom następującą komendę chmod aby upewnić się, że tylko użytkownik może odczytać i zapisać plik ~/.ssh/authorized_keys

chmod 0600 ~/.ssh/authorized_keys

Zaloguj się do swojego serwera za pomocą kluczy SSH

Pageant to agent uwierzytelniania PuTTY SSH, który przechowuje klucze prywatne w pamięci. Program Pageant binary jest częścią pakietu instalacyjnego PuTTY.msi i można go uruchomić, przechodząc do menu Start systemu Windows → PuTTY (64-bit) → Pageant.

Po uruchomieniu Pageant umieści ikonę na pasku zadań. Kliknij dwukrotnie ikonę, a otworzy się okno Pageant.

Aby załadować klucz, naciśnij przycisk „Dodaj klucz”, który otworzy nowe okno dialogowe pliku. Znajdź plik klucza prywatnego i naciśnij „Otwórz”. Jeśli nie ustawiłeś hasła, klucz zostanie załadowany natychmiast. W przeciwnym razie zostaniesz poproszony o wprowadzenie hasła.

Wprowadź hasło, a Pageant załaduje klucz prywatny.

Po wykonaniu powyższych kroków powinieneś być w stanie zalogować się na zdalnym serwerze bez pytania o hasło.

Aby to przetestować, otwórz nową sesję PuTTY SSH i spróbuj zalogować się na serwerze. PuTTY użyje załadowanego klucza i zostaniesz zalogowany na serwerze Linux bez podawania hasła.

Wyłączanie uwierzytelniania hasła SSH

Aby dodać dodatkową warstwę bezpieczeństwa do serwera, możesz wyłączyć uwierzytelnianie hasła dla SSH.

Przed wyłączeniem uwierzytelniania hasłem SSH upewnij się, że możesz zalogować się na serwerze bez hasła, a użytkownik, za pomocą którego się logujesz, ma uprawnienia sudo.

Zaloguj się do zdalnego serwera i otwórz plik konfiguracyjny SSH /etc/ssh/sshd_config pomocą edytora tekstu:

sudo nano /etc/ssh/sshd_config

Wyszukaj następujące dyrektywy i zmodyfikuj w następujący sposób:

/ etc / ssh / sshd_config

PasswordAuthentication no ChallengeResponseAuthentication no UsePAM no

Po zakończeniu zapisz plik i uruchom ponownie usługę SSH, wpisując:

sudo systemctl restart ssh

W tym momencie uwierzytelnianie oparte na haśle jest wyłączone.

Wniosek

W tym samouczku nauczyłeś się, jak wygenerować nową parę kluczy SSH i skonfigurować uwierzytelnianie oparte na kluczach SSH. Możesz dodać ten sam klucz do wielu zdalnych serwerów. Pokazaliśmy również, jak wyłączyć uwierzytelnianie za pomocą hasła SSH i dodać dodatkową warstwę bezpieczeństwa do serwera.

Domyślnie SSH nasłuchuje na porcie 22. Zmiana domyślnego portu SSH zmniejszy ryzyko zautomatyzowanych ataków.

bezpieczeństwo ssh