Dela via


Aktivera anslutning till fjärrskrivbord för en roll i Azure Cloud Services (klassisk) med hjälp av Visual Studio

Viktigt!

Cloud Services (klassisk) är nu inaktuellt för alla kunder från och med den 1 september 2024. Alla befintliga distributioner som körs stoppas och stängs av av Microsoft och data kommer att förloras kontinuerligt från och med oktober 2024. Nya distributioner bör använda den nya Azure Resource Manager-baserade distributionsmodellen Azure Cloud Services (utökad support).

Med Fjärrskrivbord kan du komma åt skrivbordet för en roll som körs i Azure med hjälp av Remote Desktop Protocol (RDP). Du kan använda en anslutning till fjärrskrivbord för att felsöka och diagnostisera problem med ditt program medan det körs.

Publiceringsguiden som Visual Studio tillhandahåller för molntjänster innehåller ett alternativ för att aktivera Fjärrskrivbord under publiceringsprocessen med hjälp av autentiseringsuppgifter som du anger. Det här alternativet är lämpligt när du använder Visual Studio 2017 version 15.4 och tidigare.

Med Visual Studio 2017 version 15.5 och senare rekommenderar vi att du undviker att aktivera Fjärrskrivbord via publiceringsguiden om du inte arbetar som enskild utvecklare. För alla situationer där flera utvecklare öppnar projektet bör du i stället aktivera Fjärrskrivbord via Azure Portal, via PowerShell eller från en versionspipeline i ett arbetsflöde för kontinuerlig distribution. Den här rekommendationen beror på en ändring i hur Visual Studio kommunicerar med Fjärrskrivbord på den virtuella molntjänstdatorn (VM), som beskrivs i den här artikeln.

Konfigurera Fjärrskrivbord via Visual Studio 2017 version 15.4 och tidigare

När du använder Visual Studio 2017 version 15.4 och tidigare kan du använda alternativet Aktivera fjärrskrivbord för alla roller i publiceringsguiden. Du kan fortfarande använda guiden med Visual Studio 2017 version 15.5 och senare, men använd inte alternativet Fjärrskrivbord.

  1. Starta publiceringsguiden i Visual Studio genom att högerklicka på molntjänstprojektet i Solution Explorer och välja Publicera.

  2. Logga in på din Azure-prenumeration om det behövs och välj Nästa.

  3. På sidan Inställningar väljer du Aktivera Fjärrskrivbord för alla roller och väljer sedan länken Inställningar... för att öppna dialogrutan Konfiguration av fjärrskrivbord.

  4. Längst ned i dialogrutan väljer du Fler alternativ. Det här kommandot visar en listruta där du skapar eller väljer ett certifikat så att du kan kryptera information om autentiseringsuppgifter när du ansluter via fjärrskrivbord.

    Kommentar

    De certifikat som du behöver för en anslutning till fjärrskrivbord skiljer sig från de certifikat som du använder för andra Azure-åtgärder. Fjärråtkomstcertifikatet måste ha en privat nyckel.

  5. Välj ett certifikat i listan eller välj Skapa...>.< Om du skapar ett nytt certifikat anger du ett eget namn för det nya certifikatet när du uppmanas att göra det och väljer OK. Det nya certifikatet visas i listrutan.

  6. Ange ett användarnamn och ett lösenord. Du kan inte använda ett befintligt konto. Använd inte "Administratör" som användarnamn för det nya kontot.

  7. Välj ett datum då kontot ska upphöra att gälla. Ett utgånget konto blockerar automatiskt ytterligare fjärrskrivbordsanslutningar.

  8. När du har angett all nödvändig information väljer du OK. Visual Studio lägger till inställningarna för fjärrskrivbord i projektets .cscfg och .csdef filerna, inklusive lösenordet som krypteras med det valda certifikatet.

  9. Slutför eventuella återstående steg med knappen Nästa och välj sedan Publicera när du är redo att publicera molntjänsten. Om du inte är redo att publicera väljer du Avbryt och svarar Ja när du uppmanas att spara ändringarna. Du kan publicera molntjänsten senare med de här inställningarna.

Konfigurera Fjärrskrivbord när du använder Visual Studio 2017 version 15.5 och senare

Med Visual Studio 2017 version 15.5 och senare kan du fortfarande använda publiceringsguiden med ett molntjänstprojekt. Du kan också använda alternativet Aktivera fjärrskrivbord för alla roller om du bara arbetar som en enskild utvecklare.

Om du arbetar som en del av ett team bör du i stället aktivera fjärrskrivbord i Azure-molntjänsten med hjälp av antingen Azure Portal eller PowerShell.

Den här rekommendationen beror på en ändring i hur Visual Studio 2017 version 15.5 och senare kommunicerar med den virtuella molntjänstdatorn. När du aktiverar Fjärrskrivbord via publiceringsguiden kommunicerar tidigare versioner av Visual Studio med den virtuella datorn via "RDP-plugin-programmet". Visual Studio 2017 version 15.5 och senare kommunicerar i stället med hjälp av "RDP-tillägget" som är säkrare och mer flexibelt. Den här ändringen överensstämmer också med det faktum att metoderna Azure Portal och PowerShell för att aktivera Fjärrskrivbord också använder RDP-tillägget.

När Visual Studio kommunicerar med RDP-tillägget överför det ett oformaterad textlösenord via TLS (Transport Layer Security). Men projektets konfigurationsfiler lagrar endast ett krypterat lösenord, som endast kan dekrypteras till oformaterad text med det lokala certifikat som ursprungligen användes för att kryptera det.

Om du distribuerar molntjänstprojektet från samma utvecklingsdator varje gång är det lokala certifikatet tillgängligt. I det här fallet kan du fortfarande använda alternativet Aktivera fjärrskrivbord för alla roller i publiceringsguiden.

Men om du eller andra utvecklare vill distribuera molntjänstprojektet från olika datorer saknar de andra datorerna det certifikat som krävs för att dekryptera lösenordet. Därför visas följande felmeddelande:

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

Du kan ändra lösenordet varje gång du distribuerar molntjänsten, men den åtgärden blir obekväm för alla som behöver använda Fjärrskrivbord.

Om du delar projektet med ett team är det bäst att avmarkera alternativet i publiceringsguiden och i stället aktivera Fjärrskrivbord direkt via Azure Portal eller med hjälp av PowerShell.

Distribuera från en byggserver med Visual Studio 2017 version 15.5 och senare

Du kan distribuera ett molntjänstprojekt från en byggserver (till exempel med Azure DevOps Services) där Visual Studio 2017 version 15.5 eller senare installeras i byggagenten. Med det här arrangemanget sker distributionen från samma dator där krypteringscertifikatet är tillgängligt.

Om du vill använda RDP-tillägget från Azure DevOps Services inkluderar du följande information i bygg-pipelinen:

  1. Inkludera /p:ForceRDPExtensionOverPlugin=true i dina MSBuild-argument för att se till att distributionen fungerar med RDP-tillägget i stället för RDP-plugin-programmet. Till exempel:

    msbuild AzureCloudService5.ccproj /t:Publish /p:TargetProfile=Cloud /p:DebugType=None
        /p:SkipInvalidConfigurations=true /p:ForceRDPExtensionOverPlugin=true
    
  2. Efter byggstegen lägger du till steget Distribution av Azure Cloud Service och anger dess egenskaper.

  3. Efter distributionssteget lägger du till ett Azure PowerShell-steg , anger egenskapen Visningsnamn till "Azure Deployment: Enable RDP Extension" (eller ett annat lämpligt namn) och väljer lämplig Azure-prenumeration.

  4. Ange Skripttyp till "Infogad" och klistra in följande nedan i fältet Infogat skript . (Du kan också skapa en .ps1 fil i projektet med det här skriptet, ange Skripttyp till "Skriptfilsökväg" och ange Skriptsökväg så att den pekar på filen.)

    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
    

Ansluta till en Azure-roll med hjälp av Fjärrskrivbord

När du har publicerat molntjänsten i Azure och aktiverat Fjärrskrivbord kan du använda Visual Studio Server Explorer för att logga in på den virtuella molntjänstdatorn:

  1. I Server Explorer expanderar du Azure-noden och expanderar sedan noden för en molntjänst och en av dess roller för att visa en lista över instanser.

  2. Högerklicka på en instansnod och välj Anslut med fjärrskrivbord.

  3. Ange användarnamnet och lösenordet som du skapade tidigare. Nu har du loggat in på fjärrsessionen.

Nästa steg