Řešení potíží s přístupem SSH k serverům s podporou Azure Arc
Tento článek obsahuje informace o řešení potíží a řešení problémů, ke kterým může dojít při pokusu o připojení k serverům s podporou Azure Arc přes SSH. Obecné informace najdete v tématu Přehled přístupu SSH k serverům s podporou Arc.
Problémy na straně klienta
Příčinou těchto problémů jsou chyby, ke kterým dochází na počítači, ze kterého se uživatel připojuje.
Nepovedlo se najít binární soubory klienta
K tomuto problému dochází v případě, že nejsou nalezeny binární soubory SSH na straně klienta potřebné pro připojení. Možné chyby:
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'.
Řešení:
- Pomocí parametru
--ssh-client-folder
zadejte cestu ke složce, která obsahuje spustitelné soubory klienta SSH. - Ujistěte se, že je složka v proměnné prostředí PATH pro Azure PowerShell.
Neshoda verzí modulu Azure PowerShellu
K tomuto problému dochází, když nainstalovaná submodule Azure PowerShellu Az.Ssh.ArcProxy není podporována nainstalovanou verzí Az.Ssh. Chyba:
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.
Řešení:
- Aktualizace modulů Az.Ssh a Az.Ssh.ArcProxy
Az.Ssh.ArcProxy není nainstalovaný
K tomuto problému dochází v případě, že se na klientském počítači nenašel modul proxy. Chyba:
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).
Řešení:
- Nainstalujte modul z Galerie prostředí PowerShell:
Install-Module -Name Az.Ssh.ArcProxy
Uživatel nemá oprávnění ke spuštění proxy serveru.
K tomuto problému dochází v případě, že uživatel nemá oprávnění ke spuštění proxy serveru SSH, který se používá k připojení. Chyby:
/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
Řešení:
- Ujistěte se, že má uživatel oprávnění ke spuštění proxy souboru.
Problémy na straně serveru
Nejde se připojit po verzi Public Preview
Pokud se uživatel zúčastnil verze Public Preview a aktualizoval svého agenta Arc a Azure CLI nebo PowerShell na verze obecné dostupnosti, může připojení selhat.
Řešení:
- Znovu povolte funkce na serverech s podporou Azure Arc.
Provoz SSH není na serveru povolený
K tomuto problému dochází, když na serveru není spuštěná služba SSHD nebo na serveru není povolený provoz SSH. Chyba:
{"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}.
Řešení:
- Ujistěte se, že je služba SSHD spuštěná na serveru s podporou Arc.
- Ujistěte se, že je funkce na serveru s podporou arc povolená na portu 22 (nebo na jiném nedefaultním portu).
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émy s oprávněními Azure
Nesprávná přiřazení rolí pro povolení připojení SSH
K tomuto problému dochází, když aktuální uživatel nemá správné přiřazení role k přispívání do cílového prostředku. Chyba:
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
Řešení:
- Ujistěte se, že u prostředku máte roli Vlastník nebo Přispěvatel, nebo se obraťte na vlastníka nebo přispěvatele prostředku a nastavte připojení SSH.
Nesprávná přiřazení rolí pro připojení
K tomuto problému dochází, když aktuální uživatel nemá správné přiřazení role pro cílový prostředek, konkrétně nedostatek read
oprávnění. Možné chyby:
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.
Řešení:
- Ujistěte se, že v prostředku, ke kterému se připojujete, máte roli přihlášení místního uživatele virtuálního počítače. Pokud používáte přihlášení Microsoft Entra, ujistěte se, že máte přihlašovací role uživatele virtuálního počítače nebo přihlašovací role správce virtuálního počítače a že na serveru s podporou arc je nainstalované rozšíření Microsoft Entra SSH Login.
Neregistrovaný poskytovatel prostředků hybridního připojení
K tomuto problému dochází v případě, že poskytovatel prostředků HybridConnectivity není zaregistrovaný pro předplatné. Chyba:
- Žádost o informace o službě Azure Relay selhala: (NoRegisteredProviderFound) Kód: NoRegisteredProviderFound
Řešení:
- Spusťte příkaz
az provider register -n Microsoft.HybridConnectivity
. - Potvrďte úspěch spuštěním
az provider show -n Microsoft.HybridConnectivity
příkazu , ověřte, žeregistrationState
je nastavená hodnotaRegistered
- Restartování hybridního agenta na serveru s podporou arc
Po aktualizaci nástroje CLI a agenta Arc se nejde připojit
K tomuto problému dochází, když aktualizovaný příkaz vytvoří novou konfiguraci služby před aktualizací agenta Arc. To bude mít vliv jenom na verze Azure Arc starší než 1.31 při aktualizaci na verzi 1.31 nebo novější. Chyba:
Připojení uzavřené neznámým portem 65535
Řešení:
- Odstraňte existující konfiguraci služby a povolte jeho opětovné vytvoření příkazem rozhraní příkazového řádku při dalším připojení. Spusťte .
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
- Odstraňte existující konfiguraci služby a povolte jeho opětovné vytvoření příkazem rozhraní příkazového řádku při dalším připojení. Spusťte .
Zakázání SSH na servery s podporou Arc
Tuto funkci je možné zakázat provedením následujících akcí:
Odeberte port a funkce SSH ze serveru s podporou 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\"}}'
Odstraňte výchozí koncový bod připojení:
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
Další kroky
- Přečtěte si o přístupu SSH k serverům s podporou Azure Arc.
- Přečtěte si o řešení potíží s připojením agenta.