SSH-Zugriff auf Server mit Azure Arc-Unterstützung
SSH für Arc-fähige Server ermöglicht SSH-Verbindungen mit Arc-fähigen Servern, ohne dass eine öffentliche IP-Adresse oder zusätzliche offene Ports erforderlich sind. Diese Funktionalität kann interaktiv, automatisiert oder mit vorhandenen SSH-Tools verwendet werden, sodass vorhandene Verwaltungstools besser für Azure Arc-fähige Server verwendet werden können.
Wesentliche Vorteile
Der SSH-Zugriff auf Arc-fähige Server bietet die folgenden wichtigen Vorteile:
- Keine öffentliche IP-Adresse und keine geöffneten SSH-Ports erforderlich
- Zugriff auf Windows- und Linux-Computer
- Möglichkeit zum Anmelden als lokale*r Benutzer*in oder Azure-Benutzer*in (nur Linux)
- Unterstützung für andere OpenSSH-basierte Tools mit Unterstützung für Konfigurationsdateien
Voraussetzungen
Um diese Funktion zu aktivieren, müssen Sie Folgendes sicherstellen:
- Vergewissern Sie sich, dass der Arc-fähige Server über die Hybrid-Agent-Version „1.31.xxxx“ oder höher verfügt. Führen Sie
azcmagent show
auf Ihrem Arc-fähigen Server aus. - Stellen Sie sicher, dass der Dienst „sshd“ für den Arc-fähigen Server aktiviert ist. Für Linux-Computer kann
openssh-server
über einen Paket-Manager installiert werden und muss aktiviert werden. SSHD muss bei Windows aktiviert sein. - Stellen Sie sicher, dass Ihnen die Rolle „Besitzer“ oder „Mitwirkender“ zugewiesen ist.
Die Authentifizierung mit Microsoft Entra-Anmeldeinformationen hat zusätzliche Anforderungen:
Auf dem Arc-fähigen Server müssen (je nach Bedarf)
aadsshlogin
undaadsshlogin-selinux
installiert sein. Diese Pakete werden mit der VM-ErweiterungAzure AD based SSH Login – Azure Arc
installiert.Konfigurieren Sie Rollenzuweisungen für die VM. Zur Autorisierung der VM-Anmeldung werden zwei Azure-Rollen verwendet:
- Anmeldeinformationen des VM-Administrators: Benutzer, denen diese Rolle zugewiesen ist, können sich mit Administratorberechtigungen bei einer Azure-VM anmelden.
- Anmeldeinformationen für VM-Benutzer: Benutzer, denen diese Rolle zugewiesen ist, können sich mit normalen Benutzerberechtigungen bei einer Azure-VM anmelden.
Ein Azure-Benutzer mit der Rolle „Besitzer“ oder „Mitwirkender“ für eine VM verfügt nicht automatisch über Berechtigungen zur Microsoft Entra-Anmeldung bei der VM über SSH. Es gibt eine beabsichtigte (und überwachte) Trennung zwischen der Gruppe von Personen, die VMs steuern, und der Gruppe von Personen, die auf VMs zugreifen können.
Hinweis
Die Rollen „Anmeldeinformationen des VM-Administrators“ und „Anmeldeinformationen für VM-Benutzer“ verwenden
dataActions
und können im Verwaltungsgruppen-, Abonnement-, Ressourcengruppen- oder Ressourcenbereich zugewiesen werden. Es wird empfohlen, die Rollen auf der Ebene der Verwaltungsgruppe, des Abonnements oder der Ressource zuzuweisen und nicht auf der Ebene einzelner VMs. Auf diese Weise vermeiden Sie das Risiko, dass die Obergrenze von Azure-Rollenzuweisungen pro Abonnement erreicht wird.
Verfügbarkeit
Der SSH-Zugriff auf Arc-fähige Server wird derzeit in allen Regionen der öffentlichen Cloud unterstützt, die von Arc-fähigen Servern unterstützt werden.
Hinweis
Derzeit gibt es keine Unterstützung für nicht öffentliche Clouds.
Erste Schritte
Registrieren des HybridConnectivity-Ressourcenanbieters
Hinweis
Dies ist ein einmaliger Vorgang, der für jedes Abonnement ausgeführt werden muss.
Überprüfen Sie, ob der HybridConnectivity-Ressourcenanbieter (Resource Provider, RP) registriert wurde:
az provider show -n Microsoft.HybridConnectivity -o tsv --query registrationState
Wenn der Ressourcenanbieter nicht registriert wurde, führen Sie Folgendes aus:
az provider register -n Microsoft.HybridConnectivity
Dieser Vorgang kann 2–5 Minuten dauern. Überprüfen Sie vor dem Fortfahren, ob der Ressourcenanbieter registriert wurde.
Erstellen eines Standardkonnektivitätsendpunkts
Hinweis
Der folgende Schritt muss für die meisten Benutzer nicht ausgeführt werden, da er bei der ersten Verbindung automatisch abgeschlossen werden sollte. Dieser Schritt muss für jeden Arc-fähigen Server abgeschlossen werden.
- Erstellen Sie den Standardendpunkt mit Azure CLI:
- Erstellen Sie den Standardendpunkt mit Azure PowerShell:
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"}}'
Hinweis
Wenn Sie Azure CLI über PowerShell verwenden, sollten Sie Folgendes verwenden.
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\"}}'
Überprüfen Sie die Endpunkterstellung:
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
Installieren des lokalen Befehlszeilentools
Diese Funktionalität ist derzeit in einer Azure CLI-Erweiterung und einem Azure PowerShell-Modul gepackt.
- Installieren Sie die Azure CLI-Erweiterung
- Installieren Sie das Azure PowerShell-Modul.
az extension add --name ssh
Hinweis
Bei der Azure CLI-Erweiterung muss eine höhere Version als 2.0.0 verwendet werden.
Aktivieren der Funktionalität auf Ihrem Arc-fähigen Server
Um das SSH-Verbindungsfeature verwenden zu können, müssen Sie die Dienstkonfiguration im Verbindungsendpunkt auf dem Arc-fähigen Server aktualisieren, um eine SSH-Verbindung mit einem bestimmten Port zuzulassen. Sie dürfen nur eine Verbindung mit einem einzelnen Port zulassen. Die CLI-Tools versuchen, den zulässigen Port zur Laufzeit zu aktualisieren, aber der Port kann manuell wie folgt konfiguriert werden:
Hinweis
Nach dem Aktualisieren der Dienstkonfiguration kann es zu einer Verzögerung kommen, bis Sie eine Verbindung herstellen können.
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}}"
Wenn Sie einen nicht-standardmäßigen Port für Ihre SSH-Verbindung verwenden, ersetzen Sie im vorherigen Befehl Port 22 durch den gewünschten Port.
Optional: Installieren der Azure AD-Anmeldeerweiterung
Die Azure AD based SSH Login – Azure Arc
VM-Erweiterung kann über das Erweiterungsmenü des Arc-Servers hinzugefügt werden. Die Azure AD-Anmeldeerweiterung kann auch lokal über einen Paket-Manager wie folgt installiert werden: apt-get install aadsshlogin
oder über den folgenden Befehl.
az connectedmachine extension create --machine-name <arc enabled server name> --resource-group <resourcegroup> --publisher Microsoft.Azure.ActiveDirectory --name AADSSHLogin --type AADSSHLoginForLinux --location <location>
Beispiele
Beispiele finden Sie auf der Dokumentationsseite der Azure CLI für az ssh oder auf der Azure PowerShell-Dokumentationsseite für Az.Ssh.
Nächste Schritte
- Informationen zu OpenSSH für Windows
- Informationen zur Problembehandlung für SSH-Zugriff auf Server mit Azure Arc-Unterstützung.
- Informationen zur Behandlung von Agent-Verbindungsproblemen.