Włączanie połączenia pulpitu zdalnego dla roli w usłudze Azure Cloud Services (wersja klasyczna) przy użyciu programu Visual Studio

Ważne

Cloud Services (wersja klasyczna) jest teraz przestarzała dla nowych klientów i zostanie wycofana 31 sierpnia 2024 r. dla wszystkich klientów. Nowe wdrożenia powinny korzystać z nowego modelu wdrażania opartego na usłudze Azure Resource Manager Azure Cloud Services (rozszerzona obsługa)."

Pulpit zdalny umożliwia dostęp do pulpitu roli uruchomionej na platformie Azure. Połączenie pulpitu zdalnego umożliwia rozwiązywanie i diagnozowanie problemów z aplikacją podczas jej działania.

Kreator publikowania zapewniany przez program Visual Studio dla usług w chmurze zawiera opcję włączenia pulpitu zdalnego podczas procesu publikowania przy użyciu poświadczeń, które należy podać. Ta opcja jest odpowiednia w przypadku korzystania z programu Visual Studio 2017 w wersji 15.4 lub starszej.

Jednak w programie Visual Studio 2017 w wersji 15.5 lub nowszej zaleca się unikanie włączania pulpitu zdalnego za pośrednictwem kreatora publikowania, chyba że pracujesz tylko jako pojedynczy deweloper. W przypadku każdej sytuacji, w której projekt może zostać otwarty przez innych deweloperów, zamiast tego włączysz pulpit zdalny za pośrednictwem Azure Portal, programu PowerShell lub potoku wydania w przepływie pracy ciągłego wdrażania. To zalecenie jest spowodowane zmianą sposobu komunikowania się programu Visual Studio z pulpitem zdalnym na maszynie wirtualnej usługi w chmurze, jak wyjaśniono w tym artykule.

Konfigurowanie pulpitu zdalnego za pomocą programu Visual Studio 2017 w wersji 15.4 lub starszej

W przypadku korzystania z programu Visual Studio 2017 w wersji 15.4 lub starszej można użyć opcji Włącz pulpit zdalny dla wszystkich ról w kreatorze publikowania. Nadal możesz użyć kreatora z programem Visual Studio 2017 w wersji 15.5 lub nowszej, ale nie używaj opcji Pulpit zdalny.

  1. W programie Visual Studio uruchom kreatora publikowania, klikając prawym przyciskiem myszy projekt usługi w chmurze w Eksplorator rozwiązań i wybierając polecenie Publikuj.

  2. W razie potrzeby zaloguj się do subskrypcji platformy Azure i wybierz pozycję Dalej.

  3. Na stronie Ustawienia wybierz pozycję Włącz pulpit zdalny dla wszystkich ról, a następnie wybierz link Ustawienia... , aby otworzyć okno dialogowe Konfiguracja pulpitu zdalnego .

  4. W dolnej części okna dialogowego wybierz pozycję Więcej opcji. To polecenie wyświetla listę rozwijaną, w której tworzysz lub wybierasz certyfikat, aby można było szyfrować informacje o poświadczeniach podczas nawiązywania połączenia za pośrednictwem pulpitu zdalnego.

    Uwaga

    Certyfikaty potrzebne do połączenia pulpitu zdalnego różnią się od certyfikatów używanych w innych operacjach platformy Azure. Certyfikat dostępu zdalnego musi mieć klucz prywatny.

  5. Wybierz certyfikat z listy lub wybierz pozycję <Utwórz...>. Jeśli tworzysz nowy certyfikat, po wyświetleniu monitu podaj przyjazną nazwę nowego certyfikatu i wybierz przycisk OK. Nowy certyfikat zostanie wyświetlony w polu listy rozwijanej.

  6. Podaj nazwę użytkownika i hasło. Nie można użyć istniejącego konta. Nie używaj nazwy użytkownika "Administrator" dla nowego konta.

  7. Wybierz datę wygaśnięcia konta i po którym połączenia pulpitu zdalnego zostaną zablokowane.

  8. Po podaniu wszystkich wymaganych informacji wybierz przycisk OK. Program Visual Studio dodaje ustawienia pulpitu zdalnego do plików i .csdef projektu.cscfg, w tym hasło zaszyfrowane przy użyciu wybranego certyfikatu.

  9. Wykonaj wszystkie pozostałe kroki przy użyciu przycisku Dalej , a następnie wybierz pozycję Publikuj , gdy wszystko będzie gotowe do opublikowania usługi w chmurze. Jeśli nie chcesz publikować, wybierz pozycję Anuluj i odpowiedz tak po wyświetleniu monitu o zapisanie zmian. Usługę w chmurze możesz opublikować później przy użyciu tych ustawień.

Konfigurowanie pulpitu zdalnego podczas korzystania z programu Visual Studio 2017 w wersji 15.5 lub nowszej

W programie Visual Studio 2017 w wersji 15.5 lub nowszej można nadal używać kreatora publikowania z projektem usługi w chmurze. Możesz również użyć opcji Włącz pulpit zdalny dla wszystkich ról , jeśli pracujesz tylko jako pojedynczy deweloper.

Jeśli pracujesz jako część zespołu, należy zamiast tego włączyć pulpit zdalny w usłudze w chmurze platformy Azure przy użyciu Azure Portal lub programu PowerShell.

To zalecenie jest spowodowane zmianą sposobu komunikowania się programu Visual Studio 2017 w wersji 15.5 lub nowszej z maszyną wirtualną usługi w chmurze. Po włączeniu pulpitu zdalnego za pośrednictwem kreatora publikowania wcześniejsze wersje programu Visual Studio komunikują się z maszyną wirtualną za pośrednictwem "wtyczki RDP". Program Visual Studio 2017 w wersji 15.5 lub nowszej komunikuje się zamiast tego przy użyciu "rozszerzenia RDP", które jest bezpieczniejsze i bardziej elastyczne. Ta zmiana jest również zgodna z faktem, że Azure Portal i metody programu PowerShell w celu włączenia pulpitu zdalnego również używają rozszerzenia RDP.

Gdy program Visual Studio komunikuje się z rozszerzeniem RDP, przesyła hasło zwykłego tekstu za pośrednictwem protokołu TLS. Jednak pliki konfiguracji projektu przechowują tylko zaszyfrowane hasło, które można odszyfrować do zwykłego tekstu tylko przy użyciu certyfikatu lokalnego, który został pierwotnie użyty do jego zaszyfrowania.

Jeśli projekt usługi w chmurze zostanie wdrożony z tego samego komputera programistycznego za każdym razem, ten lokalny certyfikat jest dostępny. W takim przypadku nadal można użyć opcji Włącz pulpit zdalny dla wszystkich ról w kreatorze publikowania.

Jeśli jednak ty lub inni deweloperzy chcą wdrożyć projekt usługi w chmurze z różnych komputerów, te inne komputery nie będą miały wymaganego certyfikatu do odszyfrowywania hasła. W rezultacie zostanie wyświetlony następujący komunikat o błędzie:

Applying remote desktop protocol (RDP) extension.
Certificate with thumbprint [thumbprint] doesn't exist.

Hasło można zmienić za każdym razem, gdy wdrażasz usługę w chmurze, ale ta akcja staje się niewygodna dla wszystkich, którzy muszą korzystać z pulpitu zdalnego.

Jeśli udostępniasz projekt zespołowi, najlepiej jest wyczyścić tę opcję w kreatorze publikowania, a zamiast tego włączyć pulpit zdalny bezpośrednio za pośrednictwem Azure Portal lub za pomocą programu PowerShell.

Wdrażanie z serwera kompilacji przy użyciu programu Visual Studio 2017 w wersji 15.5 lub nowszej

Projekt usługi w chmurze można wdrożyć z serwera kompilacji (na przykład z Azure DevOps Services), na którym program Visual Studio 2017 w wersji 15.5 lub nowszej jest instalowany w agencie kompilacji. W takim układzie wdrożenie odbywa się z tego samego komputera, na którym jest dostępny certyfikat szyfrowania.

Aby użyć rozszerzenia RDP z Azure DevOps Services, dołącz następujące szczegóły w potoku kompilacji:

  1. Uwzględnij /p:ForceRDPExtensionOverPlugin=true w argumentach MSBuild, aby upewnić się, że wdrożenie działa z rozszerzeniem RDP, a nie wtyczką RDP. Przykład:

    msbuild AzureCloudService5.ccproj /t:Publish /p:TargetProfile=Cloud /p:DebugType=None
        /p:SkipInvalidConfigurations=true /p:ForceRDPExtensionOverPlugin=true
    
  2. Po wykonaniu kroków kompilacji dodaj krok Wdrażania usługi w chmurze platformy Azure i ustaw jego właściwości.

  3. Po kroku wdrożenia dodaj krok Azure PowerShell, ustaw jej właściwość Nazwa wyświetlana na "Wdrożenie platformy Azure: włączanie rozszerzenia RDP" (lub inną odpowiednią nazwę) i wybierz odpowiednią subskrypcję platformy Azure.

  4. Ustaw wartość Typ skryptu na "Wbudowany" i wklej poniższy kod w polu Skrypt wbudowany . (Możesz również utworzyć .ps1 plik w projekcie za pomocą tego skryptu, ustawić typ skryptu na "Ścieżka pliku skryptu" i ustawić ścieżkę skryptu , aby wskazać plik).

    Param(
        [Parameter(Mandatory=$True)]
        [string]$username,
    
        [Parameter(Mandatory=$True)]
        [string]$password,
    
        [Parameter(Mandatory=$True)]
        [string]$serviceName,
    
        [Datetime]$expiry = ($(Get-Date).AddYears(1))
    )
    
    Write-Host "Service Name: $serviceName"
    Write-Host "User Name: $username"
    Write-Host "Expiry: $expiry"
    
    $securepassword = ConvertTo-SecureString -String $password -AsPlainText -Force
    $credential = New-Object System.Management.Automation.PSCredential $username,$securepassword
    
    # Try to remote existing RDP Extensions
    try
    {
        $existingRDPExtension = Get-AzureServiceRemoteDesktopExtension -ServiceName $servicename
        if ($existingRDPExtension -ne $null)
        {
            Remove-AzureServiceRemoteDesktopExtension -ServiceName $servicename -UninstallConfiguration
        }
    }
    catch
    {
    }
    
    Set-AzureServiceRemoteDesktopExtension -ServiceName $servicename -Credential $credential -Expiration $expiry -Verbose
    

Nawiązywanie połączenia z rolą platformy Azure przy użyciu pulpitu zdalnego

Po opublikowaniu usługi w chmurze na platformie Azure i włączeniu pulpitu zdalnego możesz zalogować się do maszyny wirtualnej usługi w chmurze za pomocą Eksploratora programu Visual Studio Server:

  1. W Eksploratorze serwera rozwiń węzeł platformy Azure , a następnie rozwiń węzeł usługi w chmurze i jedną z jego ról, aby wyświetlić listę wystąpień.

  2. Kliknij prawym przyciskiem myszy węzeł wystąpienia i wybierz polecenie Połącz przy użyciu pulpitu zdalnego.

  3. Wprowadź wcześniej utworzoną nazwę użytkownika i hasło. Użytkownik jest teraz zalogowany do sesji zdalnej.

Dodatkowe zasoby

Jak skonfigurować Cloud Services