SSH-åtkomst till Azure Arc-aktiverade servrar

SSH för Arc-aktiverade servrar möjliggör 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 gör att befintliga hanteringsverktyg kan ha större inverkan på Azure Arc-aktiverade servrar.

Viktiga fördelar

SSH-åtkomst till Arc-aktiverade servrar ger följande viktiga 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

Om du vill aktivera den här funktionen kontrollerar du följande:

  • Kontrollera att Den Arc-aktiverade servern har en hybridagentversion av "1.31.xxxx" eller senare. Kör: azcmagent show på din Arc-aktiverade server.
  • Kontrollera att tjänsten "sshd" är aktiverad på den Arc-aktiverade servern. För Linux-datorer openssh-server kan installeras via en pakethanterare och måste aktiveras. SSHD måste vara aktiverat i Windows.
  • Se till att du har tilldelat rollen Ägare eller Bidrare.

Autentisering med Microsoft Entra-autentiseringsuppgifter har ytterligare krav:

  • aadsshlogin och aadsshlogin-selinux (efter behov) måste installeras på den Arc-aktiverade servern. Dessa paket installeras med VM-tillägget Azure AD based SSH Login – Azure Arc .

  • 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 som har rollen Ägare eller Deltagare tilldelad för en virtuell dator har inte automatiskt behörighet till 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.

    Kommentar

    Användarinloggningsroller för virtuella datorer och virtuella datorer använder dataActions och kan tilldelas i 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 undviker 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 regioner som stöds av Arc-aktiverade servrar.

Komma igång

Registrera hybridanslutningsresursprovidern

Kommentar

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

Kontrollera om hybridanslutningsresursprovidern (RP) har registrerats:

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

Om RP inte har registrerats kör du följande:

az provider register -n Microsoft.HybridConnectivity

Den här åtgärden kan ta 2–5 minuter att slutföra. Kontrollera att RP har registrerats innan du går vidare.

Skapa standardslutpunkt för anslutning

Kommentar

Följande steg behöver inte köras för de flesta användare eftersom det bör slutföras automatiskt vid den första anslutningen. Det här steget måste slutföras för varje Arc-aktiverad server.

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"}}'

Kommentar

Om du använder Azure CLI från PowerShell ska följande 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\"}}'

Verifiera att slutpunkten skapas:

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

Den här funktionen är för närvarande paketerad i ett Azure CLI-tillägg och en Azure PowerShell-modul.

az extension add --name ssh

Kommentar

Azure CLI-tilläggsversionen måste vara större än 2.0.0.

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:

Kommentar

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

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}}"

Om du använder en nondefault-port för din SSH-anslutning ersätter du port 22 med önskad port i föregående kommando.

Valfritt: Installera Azure AD-inloggningstillägget

Vm-tillägget Azure AD based SSH Login – Azure Arc kan läggas till från tilläggsmenyn på Arc-servern. Azure AD-inloggningstillägget kan också installeras lokalt via en pakethanterare via: 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

Om du vill visa exempel kan du visa az CLI-dokumentationssidan för az ssh eller dokumentationssidan för Azure PowerShell för Az.Ssh.

Nästa steg