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 und aadsshlogin-selinux installiert sein. Diese Pakete werden mit der VM-Erweiterung Azure 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 unterstützt, die von Arc-fähigen Servern unterstützt werden.

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.

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.

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