SSH erişimi ile Azure Arc özellikli sunucuları sorun giderme
Bu makale, SSH aracılığıyla Azure Arc özellikli sunuculara bağlanmaya çalışırken oluşabilecek sorunları giderme ve çözme hakkında bilgi sağlar. Genel bilgi için bkz . Arc özellikli sunuculara SSH erişimine genel bakış.
İstemci tarafı sorunları
Bu sorunlar, kullanıcının bağlandiği makinede oluşan hatalardan kaynaklanır.
İstemci ikili dosyaları bulunamıyor
Bu sorun, bağlanmak için gereken istemci tarafı SSH ikili dosyaları bulunamadığında oluşur. Olası hatalar:
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'.
Çözüm:
--ssh-client-folder
parametresini kullanarak SSH istemci yürütülebilir dosyaları içeren klasörün yolunu sağlayın.- Klasörün Azure PowerShell için PATH ortam değişkeninde olduğundan emin olun
Azure PowerShell modülü sürüm uyuşmazlığı
Bu sorun, az.Ssh.ArcProxy yüklü Azure PowerShell alt modülü Az.Ssh'nin yüklü sürümü tarafından desteklenmediğinde oluşur. Hata:
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.
Çözüm:
- Az.Ssh ve Az.Ssh.ArcProxy modüllerini güncelleştirme
Az.Ssh.ArcProxy yüklü değil
Bu sorun, proxy modülü istemci makinesinde bulunamadığında oluşur. Hata:
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).
Çözüm:
- modülü PowerShell Galerisi yükleyin:
Install-Module -Name Az.Ssh.ArcProxy
Kullanıcının ara sunucu yürütme izinleri yok
Bu sorun, kullanıcının bağlanmak için kullanılan SSH proxy'sini yürütme izinleri olmadığında ortaya çıkar. Hatalar:
/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
Çözüm:
- Kullanıcının proxy dosyasını yürütme izinlerine sahip olduğundan emin olun.
Sunucu tarafındaki sorunlar
Genel önizlemeden sonra bağlanılamıyor
Kullanıcı genel önizlemeye katılıp Arc aracısını ve Azure CLI/PowerShell'i genel kullanılabilirlik sürümlerine güncelleştirdiyse bağlantı başarısız olabilir.
Çözüm:
Sunucuda SSH trafiğine izin verilmiyor
SSHD sunucuda çalışmadığında veya sunucuda SSH trafiğine izin verilmediğinde bu sorun oluşur. Hata:
{"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}.
Çözüm:
- Arc özellikli sunucuda SSHD hizmetinin çalıştığından emin olun.
- İşlevin Arc özellikli sunucunuzda 22 numaralı bağlantı noktasında (veya başka bir bilinmeyen bağlantı noktasında) etkinleştirildiğinden emin olun
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 izinleri sorunları
SSH bağlantısını etkinleştirmek için yanlış rol atamaları
Bu sorun, geçerli kullanıcının hedef kaynağa katkıda bulunmak için uygun rol atamasına sahip olmaması durumunda oluşur. Hata:
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
Çözüm:
- Kaynakta Sahip veya Katkıda Bulunan rolüne sahip olduğunuzdan emin olun veya SSH bağlantısını ayarlamak için kaynağın sahibine/katkıda bulunana başvurun.
Bağlanmak için yanlış rol atamaları
Bu sorun, geçerli kullanıcının hedef kaynakta uygun rol ataması olmadığında, özellikle de izin eksikliği olduğunda read
oluşur. Olası hatalar:
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.
Çözüm:
- Bağlandığınız kaynakta Sanal Makine Yerel kullanıcı Oturum Açma rolüne sahip olduğunuzdan emin olun. Microsoft Entra oturum açma bilgilerini kullanıyorsanız, Sanal Makine Kullanıcı Oturumu Açma veya Sanal Makine Yöneticisi Oturum Açma rollerine sahip olduğunuzdan ve Arc Özellikli Sunucuda Microsoft Entra SSH Oturum Açma uzantısının yüklü olduğundan emin olun.
HybridConnectivity RP kaydedilmedi
Bu sorun, HybridConnectivity kaynak sağlayıcısı abonelik için kaydedilmediğinde oluşur. Hata:
- Azure Relay Bilgileri İsteği Başarısız Oldu: (NoRegisteredProviderFound) Kod: NoRegisteredProviderFound
Çözüm:
az provider register -n Microsoft.HybridConnectivity
komutunu çalıştırın- komutunu çalıştırarak
az provider show -n Microsoft.HybridConnectivity
başarıyı onaylayın, değerinin olarak ayarlandığınıregistrationState
doğrulayınRegistered
- Arc özellikli sunucuda karma aracıyı yeniden başlatın
CLI aracı ve Arc aracısı güncelleştirildikten sonra bağlanılamıyor
Bu sorun, arc aracısı güncelleştirilmeden önce güncelleştirilmiş komut yeni bir hizmet yapılandırması oluşturduğunda oluşur. Bu yalnızca 1.31 veya daha yeni bir sürüme güncelleştirildiğinde 1.31'den eski Azure Arc sürümlerini etkiler. Hata:
Bilinmeyen bağlantı noktası 65535 tarafından kapatılan bağlantı
Çözüm:
- Mevcut hizmet yapılandırmasını silin ve sonraki bağlantıda CLI komutu tarafından yeniden oluşturulmasına izin verin. Çalıştırın:
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
- Mevcut hizmet yapılandırmasını silin ve sonraki bağlantıda CLI komutu tarafından yeniden oluşturulmasına izin verin. Çalıştırın:
Arc özellikli sunuculara SSH'yi devre dışı bırakma
Bu işlev aşağıdaki eylemler tamamlanarak devre dışı bırakılabilir:
Arc özellikli sunucudan SSH bağlantı noktasını ve işlevselliğini kaldırın:
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\"}}'
Varsayılan bağlantı uç noktasını silin:
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
Sonraki adımlar
- Azure Arc özellikli sunuculara SSH erişimi hakkında bilgi edinin.
- Aracı bağlantısı sorunlarını giderme hakkında bilgi edinin.