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
ochaadsshlogin-selinux
(efter behov) måste installeras på den Arc-aktiverade servern. Dessa paket installeras med VM-tilläggetAzure 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
- Läs mer om OpenSSH för Windows
- Lär dig mer om att felsöka SSH-åtkomst till Azure Arc-aktiverade servrar.
- Läs mer om felsökning av problem med agentanslutning.