Accès SSH aux serveurs avec Azure Arc
SSH pour les serveurs avec Arc active les connexions SSH aux serveurs avec Arc sans nécessiter d’adresse IP publique ou de ports ouverts supplémentaires. Cette fonctionnalité peut être utilisée de manière interactive, automatisée ou avec des outils SSH existants, ce qui permet aux outils de gestion existants d’avoir un impact plus important sur les serveurs avec Azure Arc.
Principaux avantages
L’accès SSH aux serveurs avec Arc offre les avantages clés suivants :
- Aucune adresse IP publique ni ports SSH ouverts requis
- Accès aux machines Windows et Linux
- Possibilité de se connecter en tant qu’utilisateur local ou utilisateur Azure (Linux uniquement)
- Prise en charge d’autres outils OpenSSH avec prise en charge des fichiers de configuration
Prérequis
Pour activer cette fonctionnalité, assurez-vous de ce qui suit :
- Vérifiez que le serveur avec Arc dispose d’une version d’agent hybride « 1.31.xxxx » ou ultérieure. Exécutez :
azcmagent show
sur votre serveur avec Arc. - Vérifiez que le service « sshd » est activé pour le serveur avec Arc. Pour les machines Linux
openssh-server
peuvent être installées via un gestionnaire de package et doivent être activées. SSHD doit être activé sur Windows. - Vérifiez que le rôle Propriétaire ou Contributeur est attribué.
L’authentification avec les informations d’identification Microsoft Entra a des exigences supplémentaires :
aadsshlogin
etaadsshlogin-selinux
(le cas échéant) doivent être installés sur le serveur compatible avec Arc. Ces packages sont installés avec l’Azure AD based SSH Login – Azure Arc
extension de machine virtuelle.Configurez des attributions de rôle pour la machine virtuelle. Deux rôles Azure sont utilisés pour autoriser la connexion aux machines virtuelles :
- Connexion de l’administrateur aux machines virtuelles : les utilisateurs auxquels ce rôle est attribué peuvent se connecter à une machine virtuelle Azure avec des privilèges d’administrateur.
- Connexion de l’utilisateur aux machines virtuelles: les utilisateurs auxquels ce rôle est attribué peuvent se connecter à une machine virtuelle Azure avec des privilèges d’utilisateur standard.
Un utilisateur Azure auquel le rôle Propriétaire ou Contributeur est attribué pour une machine virtuelle ne possède pas automatiquement des privilèges de connexion Microsoft Entra à la machine virtuelle via SSH. Il existe une séparation intentionnelle (et auditée) entre l’ensemble des personnes qui contrôlent les machines virtuelles et l’ensemble des personnes qui peuvent accéder aux machines virtuelles.
Remarque
Les rôles Connexion d’administrateur de machine virtuelle et Connexion d’utilisateur de machine virtuelle utilisent
dataActions
et peuvent être attribués au niveau du groupe d’administration, de l’abonnement, du groupe de ressources ou de la ressource. Nous vous recommandons d’attribuer les rôles au niveau du groupe d’administration, de l’abonnement ou de la ressource, et non au niveau des machines virtuelles individuelles. Cette pratique évite le risque d’atteindre la limite des attributions de rôle Azure par abonnement.
Disponibilité
L’accès SSH aux serveurs avec Arc est actuellement pris en charge dans toutes les régions de cloud public prises en charge par les serveurs avec Arc.
Remarque
Il n’existe actuellement aucune prise en charge des clouds non publics.
Mise en route
Enregistrer le fournisseur de ressources HybridConnectivity
Remarque
Il s’agit d’une opération ponctuelle qui doit être effectuée sur chaque abonnement.
Vérifiez si le fournisseur de ressources HybridConnectivity (RP) a été enregistré :
az provider show -n Microsoft.HybridConnectivity -o tsv --query registrationState
S’il n’a pas été enregistré, exécutez la commande suivante :
az provider register -n Microsoft.HybridConnectivity
L’opération peut prendre de 2 à 5 minutes. Avant de continuer, vérifiez que le fournisseur de ressources a été enregistré.
Créer un point de terminaison de connectivité par défaut
Remarque
L’étape suivante n’a pas besoin d’être exécutée pour la plupart des utilisateurs, car elle doit se terminer automatiquement lors de la première connexion. Cette étape doit être effectuée pour chaque serveur avec Arc.
- Créez le point de terminaison par défaut avec Azure CLI :
- Créez le point de terminaison par défaut avec 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"}}'
Remarque
Si vous utilisez Azure CLI à partir de PowerShell, les éléments suivants doivent être utilisés.
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\"}}'
Valider la création d’un point de terminaison :
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
Installez l’outil en ligne de commande local.
Cette fonctionnalité est actuellement empaquetée dans une extension Azure CLI et un module Azure PowerShell.
- Installez l’extension Azure CLI
- Installez le module Azure PowerShell.
az extension add --name ssh
Remarque
La version de l’extension Azure CLI doit être ultérieure à 2.0.0.
Activer les fonctionnalités sur votre serveur avec Arc
Pour utiliser la fonctionnalité de connexion SSH, vous devez mettre à jour la configuration du service dans le point de terminaison de connectivité sur le serveur Avec Arc pour autoriser la connexion SSH à un port spécifique. Vous ne pouvez autoriser la connexion qu’à un seul port. Les outils CLI tentent de mettre à jour le port autorisé au moment de l’exécution, mais le port peut être configuré manuellement avec les éléments suivants :
Remarque
Il peut y avoir un délai après la mise à jour de la configuration du service jusqu’à ce que vous soyez en mesure de vous connecter.
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}}"
Si vous utilisez un port autre que celui par défaut pour votre connexion SSH, remplacez le port 22 par le port souhaité dans la commande précédente.
Facultatif : Installer l’extension de connexion Azure AD
L’extension de machine virtuelle Azure AD based SSH Login – Azure Arc
peut être ajoutée à partir du menu extensions du serveur Arc. L’extension de connexion Azure AD peut également être installée localement via un gestionnaire de package via : apt-get install aadsshlogin
ou la commande suivante.
az connectedmachine extension create --machine-name <arc enabled server name> --resource-group <resourcegroup> --publisher Microsoft.Azure.ActiveDirectory --name AADSSHLogin --type AADSSHLoginForLinux --location <location>
Exemples
Pour afficher des exemples, consultez la page de documentation Az CLI pour az ssh ou la page de documentation Azure PowerShell pour Az.Ssh.
Étapes suivantes
- En savoir plus sur OpenSSH pour Windows
- En savoir plus sur le dépannage de l’accès SSH à serveurs avec Azure Arc.
- Découvrez comment résoudre les problèmes de connexion des agents.