Łączenie się przez SSH przy użyciu klucza Putty
Ten samouczek zawiera instrukcje krok po kroku dotyczące instalowania PuTTY SSH, korzystania z niego i konfigurowania uwierzytelniania opartego na kluczach. Postępując zgodnie z tymi instrukcjami, będziesz w stanie nawiązać bezpieczne połączenie ze zdalnym serwerem za pomocą PuTTY.
Współczesne wyzwania
Dzisiejsze środowiska biznesowe często korzystają z wielu systemów operacyjnych. Weźmy pod uwagę stacje robocze i serwery. Urządzenia sieciowe, serwery Linux, systemy IoT i stacje robocze Linux mogą wymagać połączenia ze stacją roboczą Windows. Bezpieczne połączenie tych środowisk i ochrona danych to wyzwania, przed którymi stoimy w dzisiejszych czasach. Narzędzie takie jak PuTTY może w tym pomóc.
SSH - co to jest?
Secure Shell lub Secure Socket Shell (SSH) to protokół sieciowy, który umożliwia użytkownikom bezpieczny dostęp do komputerów za pośrednictwem niezabezpieczonych sieci, szczególnie dla administratorów systemów.
Protokół SSH jest również implementowany za pomocą pakietu narzędzi. Za pomocą Secure Shell można bezpiecznie komunikować się między dwoma komputerami za pośrednictwem otwartej sieci, takiej jak Internet, przy użyciu silnego uwierzytelniania hasła i uwierzytelniania klucza publicznego.
Administratorzy sieci używają SSH do zdalnego dostępu do innego komputera, wykonywania poleceń i przenoszenia plików między komputerami, a także do zapewnienia silnego szyfrowania.
Za pomocą SSH można bezpiecznie uzyskać dostęp do komputera lub urządzenia za pośrednictwem niezabezpieczonej sieci. Połączenia SSH mogą być używane do zdalnej konfiguracji serwerów Linux i urządzeń sieciowych.
Czym jest PuTTY?
Sysadmini polegają na SSH (Secure Shell) do nawiązywania bezpiecznych połączeń ze zdalnymi urządzeniami, umożliwiając im efektywne wykonywanie różnych zadań. Oto niektóre z kluczowych czynności wykonywanych przez administratorów za pomocą SSH:
1. Audyt plików dziennika w var/log:
Łącząc się ze zdalnymi urządzeniami za pośrednictwem SSH, mogą przejść do katalogu var/log i przeanalizować pliki dziennika w celu zidentyfikowania wszelkich anomalii lub potencjalnych problemów.
2. Edycja plików konfiguracyjnych w /etc:
Sysadmini wykorzystują SSH, aby uzyskać dostęp do katalogu /etc i modyfikować te pliki w razie potrzeby.
3. Aktualizacja oprogramowania przy użyciu DNF lub APT:
Dzięki SSH mogą wykorzystać menedżery pakietów, takie jak DNF (Dandified Yum) lub APT (Advanced Package Tool), aby płynnie pobierać i instalować aktualizacje. Pozwala to administratorom na aktualizowanie systemów o najnowsze poprawki bezpieczeństwa, poprawki błędów i ulepszenia funkcji.
4. Łączenie się z urządzeniami sieciowymi:
SSH służy jako kluczowe narzędzie dla administratorów do łączenia się z różnymi urządzeniami sieciowymi, w tym routerami i zarządzanymi przełącznikami.
5. Włączanie lub wyłączanie portów przełączników:
Sysadmini często muszą włączać lub wyłączać poszczególne porty przełączników, aby efektywnie zarządzać łącznością sieciową.
6. Zarządzanie tabelami routingu:
Sysadmini mogą wykorzystywać SSH do łączenia się z routerami i zarządzanymi przełącznikami, uzyskując dostęp do konfiguracji tabel routingu.
7. Zdalna konfiguracja protokołów routingu:
SSH umożliwia administratorom zdalne konfigurowanie protokołów routingu na urządzeniach sieciowych. Niezależnie od tego, czy jest to OSPF (Open Shortest Path First), BGP (Border Gateway Protocol), czy EIGRP (Enhanced Interior Gateway Routing Protocol), mogą oni nawiązywać sesje SSH z routerami i przełącznikami oraz modyfikować ustawienia protokołu routingu.
Jak zainstalować PuTTY
Najpierw należy pobrać pakiet PuTTY z oficjalnej strony internetowej. Odwiedź puttygen.com, aby pobrać PuTTY dla swojego systemu operacyjnego.
Aby zainstalować PuTTY w systemie Windows, wykonaj następujące proste kroki:
1. Zacznij od wybrania odpowiedniego pliku pakietu dla swojego systemu. Możesz wybrać między wersjami 32-bitową i 64-bitową w zależności od architektury systemu. Strona udostępnia pojedyncze pliki wykonywalne, w tym putty.exe (klient SSH) oraz puttygen.exe (narzędzie do generowania kluczy).

2. Po zidentyfikowaniu właściwych plików, pobierz putty.exe i puttygen.exe. Zapisz je w łatwo dostępnym miejscu na swoim komputerze.
Generowanie kluczy SSH
Następnie uruchom narzędzie PuTTYGen i kliknij przycisk Generate. Podczas generowania klucza program poprosi o losowe poruszanie kursorem myszy po pustym obszarze w celu wygenerowania entropii dla klucza.

Po zakończeniu generowania klucza zobaczysz klucz publiczny wyświetlony w obszarze tekstowym. Program pokazuje również odcisk palca klucza i pozwala ustawić komentarz dla klucza.

Użyj przycisków "Save public key" i "Save private key", aby zapisać klucze na komputerze. Jako środek ostrożności możesz chronić klucz prywatny ustawiając hasło (passphrase).
Dodawanie klucza publicznego do serwera
Następnie musisz dodać klucz publiczny do serwera, z którym planujesz się połączyć.
W tym celu połącz się z serwerem przez SSH używając hasła i otwórz plik .ssh/authorized_keys w katalogu domowym użytkownika. Dodaj następujący wpis na końcu pliku:
ssh-rsa your_public_key_here

W tym przykładzie łączymy się z kontem root, więc ścieżka do pliku to /root/.ssh/authorized_keys. Możesz skopiować klucz publiczny bezpośrednio z okna PuTTYGen — zawartość klucza jest wyświetlana w obszarze tekstowym na górze.

Konfiguracja PuTTY do uwierzytelniania kluczem
Teraz otwórz aplikację PuTTY. W głównym oknie wprowadź adres IP serwera w polu "Host Name (or IP address)" i upewnij się, że port jest ustawiony na 22, a typ połączenia to SSH.

Przed połączeniem musisz określić ścieżkę do klucza prywatnego. W lewym panelu przejdź do Connection → SSH → Auth → Credentials i w polu "Private key file for authentication" wybierz plik klucza prywatnego (z rozszerzeniem .ppk).

Po skonfigurowaniu klucza wróć do kategorii Session, wprowadź adres serwera i kliknij Open, aby się połączyć.
Podczas łączenia PuTTY zapyta o nazwę użytkownika. Wprowadź nazwę konta, dla którego wcześniej dodałeś klucz publiczny (w naszym przypadku root), a uzyskasz dostęp do konsoli serwera.
Jeśli zapisałeś klucz prywatny z hasłem (passphrase), zostaniesz poproszony o jego wprowadzenie po podaniu nazwy użytkownika. Pamiętaj, że to hasło jest dla klucza SSH i może być inne niż hasło do konta.