Klucze SSH ============ Generowanie kluczy w systemie Linux ------------------------------------- Zgodnie z dobrymi praktykami zalecamy generowanie kluczy w systemie operacyjnym. Aby wygenerować parę kluczy w systemie Linux, wywołujemy polecenie: ``ssh-keygen -t rsa -b 4096 -f cloud.key`` Komenda spowoduje wygenerowanie kluczy oraz utworzenie dwóch plików: ``cloud.key`` z kluczem prywatnym oraz ``cloud.key.pub`` z kluczem publicznym. Generowanie kluczy w systemie Windows --------------------------------------- Do wygenerowania pary kluczy w systemie Windows możemy użyć programu **PuTTYgen**. 1. Uruchamiamy **PuTTYgen**. 2. Wskazujemy typ klucza **SSH-2 RSA**. 3. Klikamy przycisk **Generate**, a następnie zaczynamy ruszać myszką, do czasu, aż wskaźnik postępu dojdzie do końca – mysz będzie działać jako generator liczb losowych. 4. Podajemy i potwierdzamy hasło dostępu do klucza prywatnego. Możemy pozostawić hasło puste, ale nie jest to zalecane. 5. Klikamy na przycisk **Save private key**. Klucz prywatny będzie niezbędny do nawiązania połączenia. 6. Zapisujemy, bądź kopiujemy klucz publiczny – możemy go zaimportować do listy kluczy publicznych w panelu użytkownika Atman Cloud. Konwersja klucza na format *.ppk pod Windows ---------------------------------------------- PuTTY wymaga podania klucza prywatny w formacie *.ppk. Aby przekonwertować klucz prywatny z formatu PEM na *.ppk możemy użyć programu **PuTTYgen**. 1. Uruchamiamy **PuTTYgen**. 2. Klikamy na przycisk **Load**. 3. W otwartym oknie wyboru plików ustawiamy filtr na . i wskazujemy plik z kluczem w formacie **PEM**. 4. PuTTYgen wykryje format automatycznie. Zapisujemy skonwertowany klucz prywatny klikając na przycisk **Save private key** Tworzenie pary kluczy SSH w konsoli Horizon --------------------------------------------- **KROK 1** Na ekranie **Project -> Compute -> Key Pairs** należy kliknąć przycisk **CREATE KEY PAIR** (alternatywnie: można zaimportować stworzony przez siebie lokalnie klucz publiczny – przycisk **IMPORT KEY PAIR**): ![pic1](images/Klucze_ssh_19_1.png) **KROK 2** Po potwierdzeniu przyciskiem **CREATE KEY PAIR**, pojawi się okno pobierania klucza prywatnego który należy zapisać na lokalnej maszynie: ![pic2](images/Klucze_ssh_19_2.png) Przygotowanie instancji do korzystania z klucza SSH ----------------------------------------------------- W kreatorze tworzenia instancji w zakładce **Key Pair** należy wybrać klucz, który chcemy zastosować dla tej maszyny – używając przycisków z symbolem strzałek. Widać również że poprzednio wykonany krok można również wykonać w kreatorze: ![pic3](images/Klucze_ssh_20_1.png) Użycie klucza do logowania ----------------------------- **KROK 1** Na liście instancji ekranu **Project -> Compute -> Instances** przy utworzonej instancji pojawi się również informacja o stosowanym kluczu: ![pic4](images/Klucze_ssh_20_2.png) **KROK 2** ***Dla systemów Linux:*** Przejście do katalogu **.ssh** lokalnej maszyny i zapisanie/utworzenie/skopiowanie do niej prywatnego klucza (tu nazwa pliku to **klucz-Ubu5-priv.pem**) ![pic5](images/Klucze_ssh_21_1.png) Następnie zmiana uprawnień: ![pic6](images/Klucze_ssh_21_2.png) ***Dla systemów Windows:*** Najpopularniejszym narzędziem jest **Puttym**, w którym uprzednio należy przekonwertować plik z formatu ``*.pem`` na ``*.ppk``. Należy uruchomić program **PUTTYGEN.EXE** ![pic7](images/Klucze_ssh_22_1.png) Załadować (przycisk **Load** -> wybór prywatnego klucza – w tym przykładzie: **klucz-Ubu5-priv.pem**) ![pic8](images/Klucze_ssh_22_2.png) Z poziomu tego samego okna **PUTTYGEN** zapisać klucz jako ``*.ppk`` przyciskiem „**Save private key**” ![pic9](images/Klucze_ssh_23_1.png) **KROK 3** ***Dla systemów Linux:*** **Logowanie w systemie Linux.** Przy pomocy polecenia ``ssh –i @`` logujemy się do maszyny ![pic10](images/Klucze_ssh_23_1.png) ***Dla systemów Windows:*** Używając oprogramowania **PUTTY.EXE** należy skonfigurować połączenie podając adres IP oraz klucz ``*.ppk` wygenerowane w poprzednim kroku. **Adres IP:** ![pic11](images/Klucze_ssh_24_1.png) W kategorii **Connection -> SSH -> Auth** po kliknięciu przycisku **Browse** należy podać klucz prywatny ``*.ppk``: ![pic12](images/Klucze_ssh_25_1.png) Po kliknięciu przycisku **Open** w oknie **PuTTY Configuration**, następuje otwarcie sesji. Należy wpisać użytkownika (tu, domyślnie dla Linux Ubuntu: **ubuntu**): ![pic13](images/Klucze_ssh_25_2.png)