Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
SSH для серверов с поддержкой Arc позволяет подключениям на основе SSH к серверам с поддержкой Arc, не требуя общедоступного IP-адреса или дополнительных открытых портов. В этой статье содержатся сведения, которые помогут вам устранить проблемы, которые могут возникнуть при попытке подключиться к серверам с поддержкой Azure Arc через SSH.
Проблемы на стороне клиента
Используйте сведения в этом разделе, чтобы помочь устранить проблемы, вызванные ошибками, возникающими на компьютере, с которым вы подключаетесь.
Не удается найти двоичные файлы клиента
Эта проблема возникает, когда двоичные файлы SSH на стороне клиента, необходимые для подключения, не найдены. Сообщения об ошибках, связанные с этой проблемой, включают:
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'.
Для разрешения этой проблемы:
- Укажите путь к папке, содержащей исполняемые файлы клиента SSH с помощью
--ssh-client-folderпараметра. - Убедитесь, что папка находится в переменной среды PATH для Azure PowerShell.
Несоответствие версии модуля Azure PowerShell
Если установленная версия Az.Ssh не поддерживает установленный модуль Azure PowerShell Az.Ssh.ArcProxy, появится следующая ошибка:
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.
Чтобы устранить эту проблему, обновите модули Az.Ssh и Az.Ssh.ArcProxy до последних версий, выполнив следующие команды:
Update-Module -Name Az.Ssh
Update-Module -Name Az.Ssh.ArcProxy
Az.Ssh.ArcProxy не установлен
Если модуль Az.Ssh.ArcProxy не установлен на клиентском компьютере, появится следующая ошибка:
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).
Чтобы устранить эту ошибку, установите модуль из коллекции PowerShell: Install-Module -Name Az.Ssh.ArcProxy
Недостаточно разрешений для выполнения прокси-сервера
Если у вашей учетной записи нет разрешений на выполнение прокси-сервера SSH, используемого для подключения, могут возникнуть следующие ошибки:
/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 deniedCreateProcessW failed error:5 posix_spawnp: Input/output error
Эту проблему можно устранить, убедив, что у учетной записи пользователя есть разрешения на выполнение прокси-сервера SSH на компьютере управления.
Проблема на стороне сервера
Используйте сведения в этом разделе, чтобы устранить проблемы, вызванные ошибками на сервере с поддержкой Arc, к которому вы пытаетесь подключиться.
Трафик SSH не разрешен на сервере
Эта проблема возникает, когда служба SSHD не запущена на сервере или трафик SSH не разрешен на сервере. В этом случае могут возникнуть следующие ошибки:
{"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}.
Для разрешения этой проблемы:
- Убедитесь, что служба SSHD запущена на сервере с поддержкой Arc.
- Убедитесь, что функциональность включена на сервере с поддержкой Arc через порт 22 (или другой порт, отличный от порта по умолчанию), выполнив следующую команду:
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}}'
Проблемы с разрешениями Azure
Используйте эти сведения для устранения проблем, вызванных недостаточными разрешениями.
Неправильные назначения ролей для включения подключения SSH
Если у вас нет правильного назначения ролей для внесения вклада в целевой ресурс, вы увидите следующую ошибку:
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
Чтобы устранить эту ошибку, убедитесь, что у вас есть роль владельца или участника на сервере с поддержкой Arc, или попросите кого-то с одной из этих ролей настроить подключение SSH.
Неправильные назначения ролей для подключения
Эта проблема возникает, если у вас нет правильного назначения ролей в целевом read ресурсе, в частности отсутствие разрешений. Вы можете увидеть следующие ошибки:
Unable to determine the target machine type as Azure VM or Arc ServerUnable to determine that the target machine is an Arc ServerUnable to determine that the target machine is an Azure VMPermission 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.
Чтобы устранить эту проблему, убедитесь, что у вас есть роль входа локального пользователя виртуальной машины на сервере с поддержкой Arc, к которому вы подключаетесь. При использовании входа в систему Microsoft Entra убедитесь, что у вас есть роль входа пользователя виртуальной машины или роль входа администратора виртуальной машины, а также установлено расширение входа Microsoft Entra SSH на сервере Arc-Enabled.
Гибридное подключение RP не зарегистрировано
Если поставщик ресурсов HybridConnectivity не зарегистрирован для подписки, может возникнуть следующая ошибка:
Request for Azure Relay Information Failed: (NoRegisteredProviderFound) Code: NoRegisteredProviderFound
Чтобы устранить эту проблему, зарегистрируйте поставщика ресурсов HybridConnectivity для подписки:
- Выполните
az provider register -n Microsoft.HybridConnectivity. - Подтвердите успех выполнения
az provider show -n Microsoft.HybridConnectivity, и убедитесь, чтоregistrationStateустановлено наRegistered. - Перезапустите гибридный агент на сервере с поддержкой Arc.
Следующие шаги
- Узнайте о доступе SSH к серверам с поддержкой Azure Arc.
- Узнайте об устранении неполадок с подключением агента.