Delen via


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:

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 deze registrationState is ingesteld op Registered
  • 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
      

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
    

Volgende stappen

  • Meer informatie over SSH-toegang tot servers met Azure Arc.
  • Meer informatie over het oplossen van verbindingsproblemen met agents.