Problemen met SSH-toegang tot Arc-servers oplossen
Dit artikel bevat informatie over het oplossen en oplossen van problemen die kunnen optreden tijdens een poging om via SSH verbinding te maken met servers met Azure Arc. Zie het overzicht van SSH-toegang tot servers met Arc voor algemene informatie.
Problemen aan de clientzijde
Deze problemen worden veroorzaakt door fouten die optreden op de computer waaruit de gebruiker verbinding maakt.
Kan de binaire bestanden van de client niet vinden
Dit probleem treedt op wanneer de binaire SSH-bestanden aan de clientzijde die nodig zijn om verbinding te maken niet worden gevonden. Mogelijke fouten:
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'.
Oplossing:
- Geef het pad op naar de map die de uitvoerbare SSH-clientbestanden bevat met behulp van de parameter
--ssh-client-folder
. - Zorg ervoor dat de map zich in de omgevingsvariabele PATH voor Azure PowerShell bevindt
Versie van Azure PowerShell-module komt niet overeen
Dit probleem treedt op wanneer de geïnstalleerde Azure PowerShell-submodule Az.Ssh.ArcProxy niet wordt ondersteund door de geïnstalleerde versie van Az.Ssh. Fout:
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.
Oplossing:
- De modules Az.Ssh en Az.Ssh.ArcProxy bijwerken
Az.Ssh.ArcProxy niet geïnstalleerd
Dit probleem treedt op wanneer de proxymodule niet op de clientcomputer wordt gevonden. Fout:
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).
Oplossing:
- Installeer de module vanuit de PowerShell Gallery:
Install-Module -Name Az.Ssh.ArcProxy
Gebruiker heeft geen machtigingen om proxy uit te voeren
Dit probleem treedt op wanneer de gebruiker geen machtigingen heeft om de SSH-proxy uit te voeren die wordt gebruikt om verbinding te maken. Fouten:
/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
Oplossing:
- Zorg ervoor dat de gebruiker gemachtigd is om het proxybestand uit te voeren.
Problemen aan de serverzijde
Kan geen verbinding maken na de openbare preview
Als de gebruiker heeft deelgenomen aan de openbare preview en de Arc-agent en de Azure CLI/PowerShell heeft bijgewerkt naar de algemene beschikbaarheidsreleases, kan de verbinding mislukken.
Oplossing:
- Schakel de functionaliteit opnieuw in op de servers met Azure Arc.
SSH-verkeer is niet toegestaan op de server
Dit probleem treedt op wanneer SSHD niet wordt uitgevoerd op de server of SSH-verkeer niet is toegestaan op de server. Fout:
{"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}.
Oplossing:
- Zorg ervoor dat de SSHD-service wordt uitgevoerd op de Arc-server.
- Zorg ervoor dat de functionaliteit is ingeschakeld op uw server met Arc op poort 22 (of een andere niet-standaardpoort)
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\"}}'
Problemen met Azure-machtigingen
Onjuiste roltoewijzingen om SSH-connectiviteit in te schakelen
Dit probleem treedt op wanneer de huidige gebruiker niet over de juiste roltoewijzing beschikt om bijdragen te leveren aan de doelresource. Fout:
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
Oplossing:
- Zorg ervoor dat u de rol Eigenaar of Inzender voor de resource hebt of neem contact op met de eigenaar/inzender van de resource om SSH-connectiviteit in te stellen.
Onjuiste roltoewijzingen om verbinding te maken
Dit probleem treedt op wanneer de huidige gebruiker niet beschikt over de juiste roltoewijzing voor de doelresource, met name als er geen machtigingen zijn read
. Mogelijke fouten:
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.
Oplossing:
- Zorg ervoor dat u de lokale gebruikersaanmeldingsrol virtuele machine hebt voor de resource waarmee u verbinding maakt. Als u microsoft Entra-aanmelding gebruikt, moet u ervoor zorgen dat u de gebruikersaanmelding voor de virtuele machine of de beheerdersrollen voor virtuele machines hebt en of de Microsoft Entra SSH-aanmeldingsextensie is geïnstalleerd op de server met Arc.
HybridConnectivity RP niet geregistreerd
Dit probleem treedt op wanneer de HybridConnectivity-resourceprovider niet is geregistreerd voor het abonnement. Fout:
- Aanvraag voor Azure Relay-gegevens is mislukt: (NoRegisteredProviderFound) Code: NoRegisteredProviderFound
Oplossing:
az provider register -n Microsoft.HybridConnectivity
uitvoeren- Bevestig het slagen door uit te voeren
az provider show -n Microsoft.HybridConnectivity
, controleer of dezeregistrationState
is ingesteld opRegistered
- De hybride agent opnieuw opstarten op de server met Arc
Kan geen verbinding maken na het bijwerken van het CLI-hulpprogramma en de Arc-agent
Dit probleem treedt op wanneer met de bijgewerkte opdracht een nieuwe serviceconfiguratie wordt gemaakt voordat de Arc-agent wordt bijgewerkt. Dit heeft alleen invloed op Azure Arc-versies die ouder zijn dan 1.31 wanneer ze worden bijgewerkt naar versie 1.31 of hoger. Fout:
Verbinding gesloten door ONBEKENDE poort 65535
Oplossing:
- Verwijder de bestaande serviceconfiguratie en laat deze opnieuw worden gemaakt door de CLI-opdracht bij de volgende verbinding. Voer dit uit:
az rest --method delete --uri https://management.azure.com/subscriptions/<SUB_ID>/resourceGroups/<RG_NAME>/providers/Microsoft.HybridCompute/machines/<VM_NAME>/providers/Microsoft.HybridConnectivity/endpoints/default/serviceconfigurations/SSH?api-version=2023-03-15
- Verwijder de bestaande serviceconfiguratie en laat deze opnieuw worden gemaakt door de CLI-opdracht bij de volgende verbinding. Voer dit uit:
SSH-naar Arc-servers uitschakelen
Deze functionaliteit kan worden uitgeschakeld door de volgende acties uit te voeren:
Verwijder de SSH-poort en -functionaliteit van de server met Arc:
az rest --method delete --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\"}}'
Verwijder het standaardconnectiviteitseindpunt:
az rest --method delete --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