Udostępnij za pośrednictwem


Część 1.1 — Tworzenie maszyny wirtualnej z systemem Linux na platformie Azure i nawiązywanie z nią połączenia

Uwaga 16.

CentOS, do których odwołuje się ten artykuł, jest dystrybucją systemu Linux i osiągnie koniec życia (EOL). Rozważ odpowiednie użycie i zaplanuj. Aby uzyskać więcej informacji, zobacz CentOS End Of Life guidance (Wskazówki dotyczące zakończenia życia systemu CentOS).

Dotyczy: .NET Core 2.1, .NET Core 3.1, .NET 5

Cel tej części

Ta część szkolenia jest przeznaczona dla użytkowników, którzy nie mają żadnego środowiska systemu Linux. Omówiono w nim następujące tematy:

  • Jak utworzyć maszynę wirtualną z systemem Linux przy użyciu platformy Windows Azure.

    Uwaga 16.

    Ten krok można pominąć, jeśli masz już maszynę wirtualną z systemem Linux do użycia podczas trenowania.

  • Jak nawiązać połączenie z maszyną wirtualną z systemem Linux z komputera z systemem Windows.

  • Jak zarządzać podstawowymi zadaniami podczas pracy w systemie Linux, takimi jak tworzenie i usuwanie plików i folderów, uruchamianie poleceń jako uprzywilejowanego użytkownika i instalowanie aplikacji przy użyciu menedżerów pakietów.

Aby upewnić się, że wszystkie laboratoria w tym przewodniku działają zgodnie z oczekiwaniami, zalecamy użycie dystrybucji Ubuntu 18.04 LTS, ponieważ jest to dystrybucja użyta do utworzenia laboratoriów.

Ta część (1.1) zawiera następujące kroki:

Jeśli znasz system Linux, możesz całkowicie pominąć tę część i przejść bezpośrednio do sekcji Część 1.2 — katalogi specjalne systemu Linux, podwyższony poziom użytkowników i menedżerów pakietów.

Tworzenie maszyny wirtualnej z systemem Linux na platformie Windows Azure

Pierwszą decyzją jest dystrybucja systemu Linux, której chcesz użyć. Istnieją różne smaki i dystrybucje systemu operacyjnego Linux, powszechnie określane jako "dystrybucje". Zgodnie z tym artykułem dotyczącym projektu dokumentacji systemu Linux istnieje wiele podobieństw między różnymi dystrybucjami. Polecenia używane w tej serii są prawie takie same dla każdej dystrybucji systemu Linux, chociaż menedżerowie pakietów instalacyjnych mogą się różnić. Jednak ogólne instrukcje będą takie same niezależnie od dystrybucji, która jest używana.

Uwaga 16.

Jak wyjaśniono w artykule Maszyny wirtualne z systemem Linux na platformie Azure, firma Microsoft pomoc techniczna platformy Azure kilka popularnych dystrybucji systemu Linux, które są udostępniane i obsługiwane przez naszych partnerów. W witrynie Azure Marketplace można znaleźć dystrybucje, takie jak Red Hat Enterprise, CentOS, SUSE Linux Enterprise, Debian, Ubuntu, CoreOS, RancherOS, FreeBSD i inne.

Instrukcje dotyczące tworzenia maszyny wirtualnej z systemem Linux na platformie Azure zostały jasno wyjaśnione w przewodniku Szybki start: tworzenie maszyny wirtualnej z systemem Linux w witrynie Azure Portal.

Uwaga 16.

Ten artykuł zawiera również instrukcje dotyczące nawiązywania połączenia z maszyną wirtualną i instalowania serwera internetowego Nginx. Możesz postępować zgodnie z tymi instrukcjami i zainstalować serwer Nginx. Nie musisz jednak zdecydować, że tylko dlatego, że instalacja i konfiguracja serwera Nginx zostały omówione w następnej części.

Ten samouczek nie zduplikuje tych kroków, ponieważ instrukcje są wystarczająco jasne. Ważne jest jednak, aby podkreślić niektóre kluczowe kwestie dotyczące sposobu tworzenia maszyny wirtualnej.

Uwierzytelnianie

Podczas tworzenia maszyny wirtualnej można wybrać spośród następujących rodzajów uwierzytelniania:

  • Nawiązywanie połączenia przy użyciu hasła
  • Nawiązywanie połączenia przy użyciu klucza publicznego SSH

Chociaż użycie uwierzytelniania haseł jest akceptowalne w kontekście tego szkolenia, zalecamy użycie opcji klucza publicznego SSH, ponieważ zapewnia lepsze zabezpieczenia. Ponadto ten przewodnik domyślnie używa tej opcji podczas nawiązywania połączenia z maszyną wirtualną z systemem Linux.

Platforma Azure automatycznie generuje parę kluczy SSH i umożliwia zapisanie go na dysku, dzięki czemu będzie można go używać później podczas nawiązywania połączenia z maszyną wirtualną z systemem Linux. Ta akcja upraszcza proces połączenia.

Wybierz klucz publiczny SSH i Wygeneruj nowe opcje pary kluczy podczas tworzenia konta administratora.

Zrzut ekranu przedstawiający konto administratora.

W polu Nazwa użytkownika możesz wybrać dowolną nazwę spośród nazw podanych podczas tworzenia maszyny wirtualnej.

Reguły portów wejściowych

Aby włączyć łączność z nowo utworzoną maszyną wirtualną, wybierz zarówno protokół SSH, jak i protokół HTTP dla reguł portów wejściowych. Dzieje się tak, ponieważ użyjesz protokołu SSH do nawiązania połączenia z maszyną wirtualną i użyjesz protokołu HTTP podczas uzyskiwania dostępu do aplikacji ASP.NET Core działającej w systemie Linux.

Zrzut ekranu przedstawiający reguły portów wejściowych.

Zapisywanie klucza prywatnego

Ponieważ wybrano opcję klucz publiczny SSK, podczas tworzenia maszyny wirtualnej zostanie wyświetlony następujący komunikat:

Generuj nową parę kluczy

Zrzut ekranu przedstawiający nową parę kluczy.

Wybierz pozycję Pobierz klucz prywatny i utwórz zasób, a następnie zapisz klucz prywatny na dysku lokalnym. Rozszerzenie pliku to .pem (Poczta rozszerzona o prywatność).

Uwaga 16.

Klucz prywatny służy do otwierania drzwi podczas nawiązywania połączenia z maszyną wirtualną z systemem Linux. W związku z tym nie należy udostępniać tego klucza innym osobom.

Określanie adresu IP

Po utworzeniu maszyny wirtualnej przejdź do strony zasobu i określ i zanotuj publiczny adres IP maszyny wirtualnej. Użyjesz tego adresu IP do nawiązania połączenia z maszyną wirtualną.

Uwaga 16.

Zalecamy użycie statycznego adresu IP, ponieważ może być konieczne ponowne uruchomienie komputera podczas testów. Użycie dynamicznego publicznego adresu IP spowoduje przydzielenie innego adresu IP do maszyny wirtualnej po ponownym uruchomieniu.

Nawiązywanie połączenia z maszyną wirtualną z systemem Linux

Teraz, gdy masz maszynę wirtualną z systemem Linux i znasz jej adres IP, masz również klucz prywatny do uwierzytelniania przy użyciu uwierzytelniania za pomocą klucza publicznego SSH i możesz się zalogować. Warto omówić niektóre terminologie, które napotkasz podczas nawiązywania połączenia z maszyną wirtualną z systemem Linux.

Nie będziesz używać graficznego interfejsu użytkownika do nawiązywania połączenia z maszyną wirtualną z systemem Linux i zarządzania nią. Zamiast tego użyjesz terminalu do nawiązania połączenia i powłoki w celu uruchomienia poleceń.

Terminal systemu UNIX

Termin "terminal" opiera się na wczesnych modelach komputerowych, które zajmowały całe pomieszczenie i były kontrolowane w terminalu fizycznym przez czytniki kart uderzeniowych, a później klawiatury. Obecnie terminal jest oprogramowaniem reprezentującym fizyczne terminale. Na przykład PuTTY jest terminalem.

Powłoka systemu UNIX

Powłoka SYSTEMU UNIX to interfejs między systemami operacyjnymi przypominającym system UNIX i użytkownika. Użytkownik znajduje się w powłoce, gdy tylko użytkownik zaloguje się do systemu. Powłoka udostępnia interpreter wiersza polecenia (CLI), który odczytuje i uruchamia polecenia i skrypty w celu kontrolowania systemu, a następnie wyświetla wynikowe dane wyjściowe.

Powłoka jest również nazywana "wierszem polecenia" lub "terminalem", a te terminy są zamienne. Powłoka udostępnia niektóre polecenia i język programowania, którego można użyć do pisania skryptów. Istnieje kilka różnych implementacji powłoki. w tym popularne powłoki Bash.

W tym artykule opisano następujące opcje połączenia:

  • Korzystanie z terminalu SSH programu PowerShell
  • Korzystanie z terminalu SSH programu PuTTy

Nawiązywanie połączenia przy użyciu terminalu SSH programu PowerShell

Jeśli korzystasz z systemu Windows 10 w wersji 1809 lub nowszej, możesz użyć wbudowanego klienta SSH programu PowerShell. Aby nawiązać połączenie z maszyną wirtualną, otwórz program PowerShell i uruchom polecenie SSH w następującym formacie:

ssh -i <path to .pem private key file> <user>@<host>

Na przykład:

ssh -i d:\Learn\Linux\myPrivateKey.pem <UserName>@127.0.0.1

Jeśli wcześniej nie nawiązaliśmy połączenia z tym serwerem, zostanie wyświetlony następujący komunikat ostrzegawczy:

Nie można ustanowić autentyczności hosta "<HostName>".

Zrzut ekranu przedstawiający komunikat ostrzegawczy.

Jeśli wprowadzisz wartość tak, zostanie wyświetlone następujące ostrzeżenie:

Zrzut ekranu przedstawiający dodatkowy komunikat ostrzegawczy.

Zasadniczo klient SSH chce, aby klucz prywatny był "bardziej prywatny". Innymi słowy, klucz prywatny zawarty w pliku pem jest dostępny dla innych użytkowników na komputerze, z którym nawiązujesz połączenie. Oczekuje się, że klucz prywatny powinien być dostępny tylko dla użytkownika, który zainicjuje połączenia z maszyną wirtualną z systemem Linux.

Aby rozwiązać ten problem, zmień uprawnienia w tym pliku klucza prywatnego. W tym celu wykonaj następujące kroki:

  1. Znajdź i kliknij prawym przyciskiem myszy plik klucza prywatnego, wybierz pozycję Właściwości, a następnie wybierz kartę Zabezpieczenia . W tym przykładzie zobaczysz następujące uprawnienia, które są dziedziczone z folderu.

    Zrzut ekranu przedstawiający kartę zabezpieczeń.

    W tym przykładzie chcesz, aby tylko grupa SYSTEM i twoje konto miały dostęp do tego pliku. Ponieważ uprawnienia są dziedziczone z folderu, należy wyłączyć ten dziedziczenie, zanim będzie można edytować uprawnienia. Wybierz pozycję Zaawansowane, a następnie wybierz pozycję Wyłącz dziedziczenie. Zostanie wyświetlone następujące pytanie:

    Co chcesz zrobić z bieżącymi uprawnieniami dziedziczone?

    Zrzut ekranu przedstawiający dziedziczenie bloków.

    Wybierz pozycję Konwertuj uprawnienia dziedziczone na jawne uprawnienia dla tego obiektu.

  2. Usuń wszystkie grupy, ale system, a następnie dodaj własne konto. Poniżej przedstawiono końcowe uprawnienia przyznane dla klucza prywatnego.

    Zrzut ekranu przedstawiający kartę zabezpieczeń we właściwości pem.

  3. Spróbuj ponownie nawiązać połączenie przy użyciu tego samego polecenia SSH. Tym razem należy ustanowić połączenie bez żadnych błędów.

    Zrzut ekranu przedstawiający polecenie SSH.

Nawiązywanie połączenia przy użyciu programu PuTTY

PuTTY jest jednym z najpopularniejszych terminali do nawiązywania połączenia z maszyną wirtualną z systemem Linux. Możesz bezpłatnie pobrać i zainstalować program PuTTY dla systemu Windows na komputerze klienckim.

PuTTY jest łatwy w użyciu. Należy jednak pamiętać, że program PuTTY nie akceptuje formatu PEM dla klucza prywatnego. W związku z tym należy przekonwertować klucz na format oczekiwany przez program PuTTY (PPK). Na szczęście konwertowanie formatu PEM jest również łatwe, ponieważ generator kluczy PuTTY (PuTTYgen) jest instalowany razem z oprogramowaniem terminalowym.

Aby przekonwertować pliki, wykonaj następujące kroki:

  1. Uruchom program PuTTYgen i upewnij się, że jako typ klucza do wygenerowania wybrano rsa .

  2. Wybierz pozycję Załaduj , aby wybrać plik klucza prywatnego z rozszerzeniem pem.

    Zrzut ekranu przedstawiający generator kluczy putty.

  3. Upewnij się, że wybrano opcję Wszystkie pliki, ponieważ domyślnym wyborem dla programu PuTTYgen jest PPK.

    Zrzut ekranu przedstawiający wszystkie pliki.

  4. Znajdź i otwórz żądany plik PEM. Powinien zostać wyświetlony następujący komunikat wskazujący, że program PuTTYgen mógł zaimportować klucz. Teraz możesz zapisać klucz prywatny w formacie PPK.

    Zrzut ekranu przedstawiający powiadomienie w generatorze kluczy putty.

  5. Wybierz przycisk OK, a następnie wybierz pozycję Zapisz klucz prywatny:

    Zrzut ekranu przedstawiający zapisywanie klucza prywatnego.

    Program PuTTYgen wyświetli monit o potwierdzenie, że chcesz zapisać klucz bez hasła. Wybierz pozycję Tak i zapisz klucz prywatny w formacie PPK.

    Teraz możesz nawiązać połączenie z maszyną wirtualną przy użyciu pliku PPK.

  6. Uruchom program PuTTY. Użyjesz tej samej <nazwy użytkownika>@<hosta | Format adresu> IP dla informacji o połączeniu. Możesz zapisać te informacje o sesji, aby użyć ich ponownie później. Poniższy zrzut ekranu przedstawia okno dialogowe Konfiguracja programu PuTTY po zapisaniu bieżącej sesji. W oknie dialogowym wyświetlane są informacje o hoście w nazwa <_użytkownika>@<host | Format adresu> IP i nazwa sesji po jej wybraniu z listy dostępnej.

    Zrzut ekranu przedstawiający konfigurację putty.

  7. Ponieważ używasz uwierzytelniania za pomocą klucza publicznego SSH, musisz poinformować puTTY, gdzie znaleźć klucz prywatny. W tym celu rozwiń węzeł SSH i wybierz pozycję Uwierzytelnianie w okienku Kategoria , a następnie wybierz pozycję Przeglądaj.

    Zrzut ekranu przedstawiający konfigurację putty na potrzeby wybierania.

  8. Znajdź i wybierz plik PPK utworzony przy użyciu programu PuTTYgen.

  9. Wybierz pozycję Otwórz, aby rozpocząć sesję.

    Uwaga 16.

    Po pierwszym nawiązaniu połączenia z maszyną wirtualną zostanie wyświetlony następujący komunikat ostrzegawczy:

    Klucz hosta serwera nie jest buforowany w rejestrze. Nie masz gwarancji, że serwer jest komputerem, który uważasz, że jest.

    Okno alertu zabezpieczeń putty.

    Ten komunikat przypomina komunikat wygenerowany po raz pierwszy podczas nawiązywania połączenia z maszyną wirtualną przy użyciu klienta SSH w programie PowerShell.

  10. Wybierz pozycję Tak , aby nawiązać połączenie z maszyną wirtualną.

    Zrzut ekranu przedstawiający wiersz polecenia.

Uwaga 16.

Użyjesz protokołu SSH programu PowerShell do nawiązania połączenia z maszyną wirtualną w pozostałej części tych samouczków.

Następne kroki

Część 1.2 — Podstawowe operacje w systemie Linux

Zastrzeżenie dotyczące innych firm

Produkty innych firm omówione w tym artykule są wytwarzane przez producentów niezależnych od firmy Microsoft. Firma Microsoft nie udziela żadnych gwarancji, dorozumianych ani żadnego innego rodzaju, w odniesieniu do wydajności lub niezawodności tych produktów.