Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les serveurs compatibles SSH pour Arc activent les connexions SSH à des serveurs avec Arc sans nécessiter d’adresse IP publique ou d’autres ports ouverts. Cet article fournit des informations pour vous aider à résoudre les problèmes qui peuvent se produire lors de la tentative de connexion aux serveurs avec Azure Arc via SSH.
Problèmes côté client
Utilisez les informations de cette section pour vous aider à résoudre les problèmes causés par des erreurs qui se produisent sur l’ordinateur à partir duquel vous vous connectez.
Impossible de localiser les fichiers binaires du client
Ce problème se produit lorsque les binaires SSH côté client requis pour la connexion sont introuvables. Les messages d’erreur liés à ce problème sont les suivants :
Failed to create ssh key file with error: \<ERROR\>.
Failed to run ssh command with error: \<ERROR\>.
Failed to get certificate info with error: \<ERROR\>.
Failed to create ssh key file with error: [WinError 2] The system cannot find the file specified.
Failed to create ssh key file with error: [Errno 2] No such file or directory: 'ssh-keygen'.
Pour résoudre ce problème :
- Indiquez le chemin d’accès au dossier qui contient les exécutables du client SSH à l’aide du
--ssh-client-folder
paramètre. - Vérifiez que le dossier se trouve dans la variable d’environnement PATH pour Azure PowerShell.
Incompatibilité de version du module Azure PowerShell
Si la version installée d’Az.Ssh ne prend pas en charge le module Azure PowerShell installé Az.Ssh.ArcProxy, l’erreur suivante s’affiche :
This version of Az.Ssh only supports version 1.x.x of the Az.Ssh.ArcProxy PowerShell Module. The Az.Ssh.ArcProxy module {ModulePath} version is {ModuleVersion}, and it is not supported by this version of the Az.Ssh module. Check that this version of Az.Ssh is the latest available.
Pour résoudre ce problème, mettez à jour les modules Az.Ssh et Az.Ssh.ArcProxy vers les dernières versions en exécutant les commandes suivantes :
Update-Module -Name Az.Ssh
Update-Module -Name Az.Ssh.ArcProxy
Az.Ssh.ArcProxy n’est pas installé
Si le module Az.Ssh.ArcProxy n’est pas installé sur l’ordinateur client, l’erreur suivante s’affiche :
Failed to find the PowerShell module Az.Ssh.ArcProxy installed in this machine. You must have the Az.Ssh.Proxy PowerShell module installed in the client machine in order to connect to Azure Arc resources. You can find the module in the PowerShell Gallery (see: https://aka.ms/PowerShellGallery-Az.Ssh.ArcProxy).
Pour corriger cette erreur, installez le module à partir de PowerShell Gallery : Install-Module -Name Az.Ssh.ArcProxy
Autorisations insuffisantes pour exécuter le proxy
Si votre compte ne dispose pas des autorisations nécessaires pour exécuter le proxy SSH utilisé pour vous connecter, vous pouvez voir les erreurs suivantes :
/bin/bash: line 1: exec: /usr/local/share/powershell/Modules/Az.Ssh.ArcProxy/1.0.0/sshProxy_linux_amd64_1.3.022941: cannot execute: Permission denied
CreateProcessW failed error:5 posix_spawnp: Input/output error
Vous pouvez résoudre ce problème en vous assurant que le compte d’utilisateur dispose des autorisations nécessaires pour exécuter le proxy SSH sur l’ordinateur de gestion.
Problèmes côté serveur
Utilisez les informations de cette section pour vous aider à résoudre les problèmes causés par des erreurs sur le serveur avec Arc auquel vous essayez de vous connecter.
Trafic SSH non autorisé sur le serveur
Ce problème se produit quand SSHD n’est pas exécuté sur le serveur ou que le trafic SSH n’est pas autorisé sur le serveur. Dans ce cas, vous pouvez voir les erreurs suivantes :
{"level":"fatal","msg":"sshproxy: error copying information from the connection: read tcp 192.168.1.180:60887-\u003e40.122.115.96:443: wsarecv: An existing connection was forcibly closed by the remote host.","time":"2022-02-24T13:50:40-05:00"}
{"level":"fatal","msg":"sshproxy: error connecting to the address: 503 connection to localhost:22 failed: dial tcp [::1]:22: connectex: No connection could be made because the target machine actively refused it.. websocket: bad handshake","proxyVersion":"1.3.022941"}
SSH connection is not enabled in the target port {Port}.
Pour résoudre ce problème :
- Vérifiez que le service SSHD s’exécute sur le serveur avec Arc.
- Assurez-vous que la fonctionnalité est activée sur votre serveur avec Arc sur le port 22 (ou un autre port nondefault) en exécutant la commande suivante :
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}}'
Problèmes d’autorisations Azure
Utilisez ces informations pour résoudre les problèmes causés par des autorisations insuffisantes.
Attributions de rôles incorrectes pour activer la connectivité SSH
Si vous n’avez pas la bonne attribution de rôle pour apporter des contributions à la ressource cible, l’erreur suivante s’affiche :
Client is not authorized to create a Default connectivity endpoint for {Name} in the Resource Group {ResourceGroupName}. This is a one-time operation that must be performed by an account with Owner or Contributor role to allow connections to target resource
Pour résoudre cette erreur, vérifiez que vous disposez du rôle Propriétaire ou Contributeur sur le serveur avec Arc, ou demandez à une personne disposant de l’un de ces rôles de configurer la connectivité SSH.
Attributions de rôles incorrectes pour se connecter
Ce problème se produit si vous n’avez pas l’attribution de rôle appropriée sur la ressource cible, en particulier un manque d’autorisations read
. Vous pouvez voir les erreurs suivantes :
Unable to determine the target machine type as Azure VM or Arc Server
Unable to determine that the target machine is an Arc Server
Unable to determine that the target machine is an Azure VM
Permission denied (publickey).
Request for Azure Relay Information Failed: (AuthorizationFailed) The client '\<user name\>' with object id '\<ID\>' does not have authorization to perform action 'Microsoft.HybridConnectivity/endpoints/listCredentials/action' over scope '/subscriptions/\<Subscription ID\>/resourceGroups/\<Resource Group\>/providers/Microsoft.HybridCompute/machines/\<Machine Name\>/providers/Microsoft.HybridConnectivity/endpoints/default' or the scope is invalid. If access was recently granted, please refresh your credentials.
Pour résoudre ce problème, vérifiez que vous disposez du rôle de connexion utilisateur local de la machine virtuelle sur le serveur avec Arc auquel vous vous connectez. Si vous utilisez la connexion Microsoft Entra, vérifiez que vous disposez des rôles de connexion utilisateur de machine virtuelle ou de connexion administrateur de machine virtuelle et que l’extension de connexion Microsoft Entra SSH est installée sur le serveur Arc-Enabled.
HybridConnectivity RP non enregistré
Si le fournisseur de ressources HybridConnectivity n’est pas inscrit pour l’abonnement, l’erreur suivante peut s’afficher :
Request for Azure Relay Information Failed: (NoRegisteredProviderFound) Code: NoRegisteredProviderFound
Pour résoudre ce problème, inscrivez le fournisseur de ressources HybridConnectivity pour l’abonnement :
- Exécutez
az provider register -n Microsoft.HybridConnectivity
. - Confirmez la réussite en exécutant
az provider show -n Microsoft.HybridConnectivity
, puis vérifiez queregistrationState
est défini surRegistered
. - Redémarrez l’agent hybride sur le serveur avec Arc.
Étapes suivantes
- En savoir plus sur l’accès SSH à serveurs avec Azure Arc.
- Découvrez comment résoudre les problèmes de connexion des agents.