Dela via


Felsöka SSH-åtkomst till Azure Arc-aktiverade servrar

Den här artikeln innehåller information om hur du felsöker och löser problem som kan uppstå när du försöker ansluta till Azure Arc-aktiverade servrar via SSH. Allmän information finns i Översikt över SSH-åtkomst till Arc-aktiverade servrar.

Problem på klientsidan

De här problemen beror på fel som uppstår på datorn som användaren ansluter från.

Det går inte att hitta klientbinärfiler

Det här problemet uppstår när de SSH-binärfiler på klientsidan som krävs för att ansluta inte hittas. Möjliga fel:

  • 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'.

Lösning:

  • Ange sökvägen till mappen som innehåller SSH-klientens körbara filer med hjälp av parametern --ssh-client-folder.
  • Kontrollera att mappen finns i PATH-miljövariabeln för Azure PowerShell

Felmatchning av Azure PowerShell-modulversion

Det här problemet uppstår när den installerade Azure PowerShell-undermodulen Az.Ssh.ArcProxy inte stöds av den installerade versionen av Az.Ssh. Fel:

  • 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.

Lösning:

  • Uppdatera modulerna Az.Ssh och Az.Ssh.ArcProxy

Az.Ssh.ArcProxy inte installerat

Det här problemet uppstår när proxymodulen inte hittas på klientdatorn. Fel:

  • 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).

Lösning:

Användaren har inte behörighet att köra proxy

Det här problemet uppstår när användaren inte har behörighet att köra SSH-proxyn som används för att ansluta. Fel:

  • /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

Lösning:

  • Kontrollera att användaren har behörighet att köra proxyfilen.

Problem på serversidan

Det går inte att ansluta efter den offentliga förhandsversionen

Om användaren hade deltagit i den offentliga förhandsversionen och har uppdaterat sin Arc-agent och Azure CLI/PowerShell till de allmänna tillgänglighetsversionerna kan anslutningen misslyckas.

Lösning:

  • Återaktivera funktionerna på De Azure Arc-aktiverade servrarna.

SSH-trafik tillåts inte på servern

Det här problemet uppstår när SSHD inte körs på servern eller om SSH-trafik inte tillåts på servern. Fel:

  • {"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}.

Lösning:

  • Kontrollera att SSHD-tjänsten körs på den Arc-aktiverade servern.
  • Kontrollera att funktionen är aktiverad på din Arc-aktiverade server på port 22 (eller annan nondefault-port)

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\"}}'

Problem med Azure-behörigheter

Felaktiga rolltilldelningar för att aktivera SSH-anslutning

Det här problemet uppstår när den aktuella användaren inte har rätt rolltilldelning för att bidra till målresursen. Fel:

  • 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

Lösning:

  • Kontrollera att du har rollen Ägare eller Deltagare för resursen eller kontakta resursens ägare/deltagare för att konfigurera SSH-anslutning.

Felaktiga rolltilldelningar att ansluta

Det här problemet uppstår när den aktuella användaren inte har rätt rolltilldelning på målresursen, särskilt brist på read behörigheter. Möjliga fel:

  • 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.

Lösning:

  • Se till att du har rollen Lokal inloggning för virtuell dator på den resurs som du ansluter till. Om du använder Microsoft Entra-inloggning kontrollerar du att du har inloggningsrollerna för virtuell datoranvändare eller inloggningsroller för virtuell datoradministratör och att Microsoft Entra SSH-inloggningstillägget är installerat på Den Arc-aktiverade servern.

Hybrid Anslut ivity RP inte registrerad

Det här problemet uppstår när Hybrid Anslut ivity-resursprovidern inte har registrerats för prenumerationen. Fel:

  • Begäran om Azure Relay-information misslyckades: (NoRegisteredProviderFound)-kod: NoRegisteredProviderFound

Lösning:

  • Kör az provider register -n Microsoft.HybridConnectivity
  • Bekräfta att det lyckades genom att köra az provider show -n Microsoft.HybridConnectivity, kontrollera att registrationState är inställt på Registered
  • Starta om hybridagenten på den Arc-aktiverade servern

Det går inte att ansluta efter uppdatering av CLI-verktyget och Arc-agenten

Det här problemet uppstår när det uppdaterade kommandot skapar en ny tjänstkonfiguration innan Arc-agenten uppdateras. Detta påverkar endast Azure Arc-versioner som är äldre än 1.31 när de uppdateras till version 1.31 eller senare. Fel:

  • Anslut ion stängd av OKÄND port 65535

    Lösning:

    • Ta bort den befintliga tjänstkonfigurationen och låt den återskapas av CLI-kommandot vid nästa anslutning. Kör 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

Inaktivera SSH till Arc-aktiverade servrar

Den här funktionen kan inaktiveras genom att utföra följande åtgärder:

  • Ta bort SSH-porten och -funktionerna från den Arc-aktiverade servern: 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\"}}'

  • Ta bort standardslutpunkten för anslutning: 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

Nästa steg