Dela via


SSH-åtkomst till Azure Arc-aktiverade servrar

Du kan aktivera SSH-baserade anslutningar till Arc-aktiverade servrar utan att kräva en offentlig IP-adress eller ytterligare öppna portar. Den här funktionen kan användas interaktivt, automatiserat eller med befintliga SSH-baserade verktyg, vilket ökar effekten av befintliga hanteringsverktyg på Azure Arc-aktiverade servrar.

Fördelar

SSH-åtkomst till Arc-aktiverade servrar ger följande fördelar:

  • Ingen offentlig IP-adress eller öppna SSH-portar krävs
  • Åtkomst till Windows- och Linux-datorer
  • Möjlighet att logga in som lokal användare eller Azure-användare (endast Linux)
  • Stöd för andra OpenSSH-baserade verktyg med stöd för konfigurationsfiler

Förutsättningar

  • Användarbehörigheter: Rollen Ägare eller Deltagare tilldelad för den Arc-aktiverade målservern.
  • Arc-aktiverad server:
    • Hybrid Agent-version: 1.31.xxxx eller senare
    • SSH-tjänsten ("sshd") måste vara aktiverad.

För Linux installerar du openssh-server via en pakethanterare. Du kan kontrollera om sshd körs på Linux genom att köra följande kommando:

ps -aux | grep sshd

För Windows, se Aktivera OpenSSH. Du kan kontrollera om ssh är installerat och körs med följande kommandon:

Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'

# Check the sshd service is running
Get-Service sshd

Tips/Råd

Från och med Windows Server 2025 installeras OpenSSH som standard.

Microsoft Entra-autentisering

Om du vill använda Microsoft Entra för autentisering måste du installera aadsshlogin och aadsshlogin-selinux (efter behov) på den Arc-aktiverade servern. Dessa paket installeras när du distribuerar tillägget för den AADSSHLoginForLinuxvirtuella datorn (VM).

Du måste också konfigurera rolltilldelningar för den virtuella datorn. Två Azure-roller används för att auktorisera VM-inloggning:

  • Inloggning med virtuell datoradministratör: Användare som har tilldelats den här rollen kan logga in på en virtuell Azure-dator med administratörsbehörighet.
  • Användarinloggning för virtuell dator: Användare som har tilldelats den här rollen kan logga in på en virtuell Azure-dator med regelbunden användarbehörighet.

En Azure-användare med rollen Ägare eller Deltagare tilldelad för en virtuell dator har inte automatiskt behörighet för Microsoft Entra-inloggning till den virtuella datorn via SSH. Det finns en avsiktlig (och granskad) separation mellan den uppsättning personer som styr virtuella datorer och den uppsättning personer som har åtkomst till virtuella datorer. Eftersom dessa roller ger hög åtkomstnivå kan du överväga att använda Microsoft Entra Privileged Identity Management för granskningsbar just-in-time-åtkomst.

Anteckning

Rollerna Virtuell Maskinadministratörsinloggning och Virtuell Maskinanvändarinloggning använder dataActions och kan tilldelas på hanteringsgruppen, prenumerationen, resursgruppen eller resursomfånget. Vi rekommenderar att du tilldelar rollerna på hanteringsgrupps-, prenumerations- eller resursnivå och inte på den enskilda virtuella datorns nivå. Den här metoden hjälper till att undvika risken att nå gränsen för Azure-rolltilldelningar per prenumeration.

Tillgänglighet

SSH-åtkomst till Arc-aktiverade servrar stöds för närvarande i alla molnregioner som stöds av Arc-aktiverade servrar.

Aktivera SSH-åtkomst till Arc-aktiverade servrar

Om du vill aktivera SSH-åtkomst till Arc-aktiverade servrar följer du stegen i det här avsnittet.

Registrera HybridConnectivity-resursleverantören

Anteckning

Det här är en engångsåtgärd som måste utföras för varje prenumeration.

Kontrollera om hybridanslutningsresursprovidern är registrerad:

az provider show -n Microsoft.HybridConnectivity -o tsv --query registrationState

Om resursprovidern inte är registrerad kör du följande kommando för att registrera den:

az provider register -n Microsoft.HybridConnectivity

Den här åtgärden kan ta 2–5 minuter att slutföra. Kontrollera att registreringen är klar innan du fortsätter till nästa steg.

Skapa standardslutpunkt för anslutning

Det här steget måste slutföras för varje Arc-aktiverad server. Du kanske dock inte behöver köra dessa kommandon för att göra det, eftersom det bör slutföras automatiskt vid den första anslutningen.

az rest --method put --uri https://management.azure.com/subscriptions/<subscription>/resourceGroups/<resourcegroup>/providers/Microsoft.HybridCompute/machines/<arc enabled server name>/providers/Microsoft.HybridConnectivity/endpoints/default?api-version=2023-03-15 --body '{"properties": {"type": "default"}}'

Anteckning

Om du använder Azure CLI från PowerShell ska följande kommando användas.

az rest --method put --uri https://management.azure.com/subscriptions/<subscription>/resourceGroups/<resourcegroup>/providers/Microsoft.HybridCompute/machines/<arc enabled server name>/providers/Microsoft.HybridConnectivity/endpoints/default?api-version=2023-03-15 --body '{\"properties\":{\"type\":\"default\"}}'

Bekräfta att slutpunkten skapats:

az rest --method get --uri https://management.azure.com/subscriptions/<subscription>/resourceGroups/<resourcegroup>/providers/Microsoft.HybridCompute/machines/<arc enabled server name>/providers/Microsoft.HybridConnectivity/endpoints/default?api-version=2023-03-15

Installera det lokala kommandoradsverktyget

SSH-funktioner tillhandahålls i ett Azure CLI-tillägg och en Azure PowerShell-modul. Installera lämpligt verktyg för din miljö.

az extension add --name ssh

Aktivera funktioner på din Arc-aktiverade server

För att kunna använda SSH Connect-funktionen måste du uppdatera tjänstkonfigurationen i anslutningsslutpunkten på den Arc-aktiverade servern för att tillåta SSH-anslutning till en specifik port. Du kan bara tillåta anslutning till en enda port. CLI-verktygen försöker uppdatera den tillåtna porten vid körning, men porten kan konfigureras manuellt med följande kommando. Om du använder en nondefault-port för din SSH-anslutning ersätter du port 22 med önskad port.

az rest --method put --uri https://management.azure.com/subscriptions/<subscription>/resourceGroups/<resourcegroup>/providers/Microsoft.HybridCompute/machines/<arc enabled server name>/providers/Microsoft.HybridConnectivity/endpoints/default/serviceconfigurations/SSH?api-version=2023-03-15 --body "{\"properties\": {\"serviceName\": \"SSH\", \"port\": 22}}"

Anteckning

Det kan uppstå en fördröjning när du har uppdaterat tjänstkonfigurationen innan du kan ansluta.

Valfritt: Installera Inloggningstillägget för Microsoft Entra

Om du vill använda Microsoft Entra för autentisering på dina Linux-datorer måste du installera aadsshlogin och aadsshlogin-selinux (efter behov) på den Arc-aktiverade servern. Dessa paket installeras med VM-tillägget AADSSHLoginForLinux .

Om du vill lägga till det här tillägget i Azure-portalen går du till klustret och går sedan till tjänstmenyn under Inställningar och väljer Tillägg. Välj Lägg till och sedan Azure AD-baserad SSH-inloggning – Azure Arc och slutför installationen. Du kan också installera tillägget lokalt via en pakethanterare genom att köra apt-get install aadsshlogin eller följande kommando:

az connectedmachine extension create --machine-name <arc enabled server name> --resource-group <resourcegroup> --publisher Microsoft.Azure.ActiveDirectory --name AADSSHLogin --type AADSSHLoginForLinux --location <location>

Exempel

Du kan använda Azure CLI eller Azure PowerShell för att komma åt Arc-aktiverade servrar via SSH. Exempel och mer information finns i az ssh (Azure CLI) eller Az.Ssh (Azure PowerShell).

Inaktivera SSH till Arc-aktiverade servrar

Följ dessa steg om du vill ta bort SSH-åtkomsten till dina Arc-aktiverade servrar.

  1. Ta bort SSH-porten och -funktionerna från den Arc-aktiverade servern:

    az rest --method delete --uri https://management.azure.com/subscriptions/<subscription>/resourceGroups/<resourcegroup>/providers/Microsoft.HybridCompute/machines/<arc enabled server name>/providers/Microsoft.HybridConnectivity/endpoints/default/serviceconfigurations/SSH?api-version=2023-03-15 --body '{\"properties\": {\"serviceName\": \"SSH\", \"port\": \"22\"}}'
    
  2. Ta bort standardslutpunkten för anslutning:

    az rest --method delete --uri https://management.azure.com/subscriptions/<subscription>/resourceGroups/<resourcegroup>/providers/Microsoft.HybridCompute/machines/<arc enabled server name>/providers/Microsoft.HybridConnectivity/endpoints/default?api-version=2023-03-15
    

Om du vill inaktivera all fjärråtkomst till datorn, inklusive SSH-åtkomst, kan du köra följande azcmagent config kommando på datorn:

azcmagent config set incomingconnections.enabled false

Nästa steg