Bagikan melalui


Memecahkan masalah akses SSH ke server dengan dukungan Azure Arc

Artikel ini menyediakan informasi tentang pemecahan masalah dan penyelesaian masalah yang mungkin terjadi saat mencoba menyambungkan ke server dengan dukungan Azure Arc melalui SSH. Untuk informasi umum, lihat Gambaran umum akses SSH ke server dengan dukungan Arc.

Masalah sisi klien

Masalah ini disebabkan oleh kesalahan yang terjadi pada komputer tempat pengguna terhubung.

Tidak dapat menemukan biner klien

Masalah ini terjadi ketika biner SSH sisi klien yang diperlukan untuk terhubung tidak ditemukan. Kemungkinan kesalahan:

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

Resolusi:

  • Berikan jalur ke folder yang berisi klien SSH yang dapat dieksekusi dengan menggunakan parameter --ssh-client-folder.
  • Pastikan folder berada dalam variabel lingkungan PATH untuk Azure PowerShell

Versi modul Azure PowerShell tidak cocok

Masalah ini terjadi ketika submodul Azure PowerShell yang diinstal, Az.Ssh.ArcProxy, tidak didukung oleh versi Az.Ssh yang diinstal. Kesalahan:

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

Resolusi:

  • Memperbarui modul Az.Ssh dan Az.Ssh.ArcProxy

Az.Ssh.ArcProxy tidak diinstal

Masalah ini terjadi ketika modul proksi tidak ditemukan di komputer klien. Kesalahan:

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

Resolusi:

  • Instal modul dari Galeri PowerShell: Install-Module -Name Az.Ssh.ArcProxy

Pengguna tidak memiliki izin untuk menjalankan proksi

Masalah ini terjadi ketika pengguna tidak memiliki izin untuk menjalankan proksi SSH yang digunakan untuk menyambungkan. Kesalahan:

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

Resolusi:

  • Pastikan bahwa pengguna memiliki izin untuk menjalankan file proksi.

Masalah sisi server

Tidak dapat tersambung setelah pratinjau publik

Jika pengguna telah berpartisipasi dalam pratinjau publik dan telah memperbarui agen Arc mereka dan Azure CLI/PowerShell ke rilis ketersediaan umum, konektivitas mungkin gagal.

Resolusi:

  • Aktifkan kembali fungsionalitas di server dengan dukungan Azure Arc.

Lalu lintas SSH tidak diizinkan di server

Masalah ini terjadi ketika SSHD tidak berjalan di server, atau lalu lintas SSH tidak diizinkan di server. Kesalahan:

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

Resolusi:

  • Pastikan bahwa layanan SSHD berjalan di server dengan dukungan Arc.
  • Pastikan bahwa fungsionalitas diaktifkan di server berkemampuan Arc Anda pada port 22 (atau port nondefault lainnya)
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\"}}'

Masalah izin Azure

Penetapan peran yang salah untuk mengaktifkan konektivitas SSH

Masalah ini terjadi ketika pengguna saat ini tidak memiliki penetapan peran yang tepat untuk memberikan kontribusi ke sumber daya target. Kesalahan:

  • 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

Resolusi:

  • Pastikan Anda memiliki peran Pemilik atau Kontributor pada sumber daya atau hubungi pemilik/kontributor sumber daya untuk menyiapkan konektivitas SSH.

Penetapan peran yang salah untuk disambungkan

Masalah ini terjadi ketika pengguna saat ini tidak memiliki penetapan peran yang tepat pada sumber daya target, khususnya kurangnya read izin. Kemungkinan kesalahan:

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

Resolusi:

  • Pastikan Anda memiliki peran Masuk pengguna Lokal Komputer Virtual pada sumber daya yang Anda sambungkan. Jika menggunakan login Microsoft Entra, pastikan Anda memiliki peran Masuk Pengguna Komputer Virtual atau Peran Masuk Administrator Komputer Virtual dan ekstensi Masuk Microsoft Entra SSH diinstal di Server yang Diaktifkan Arc.

HYBRIDConnectivity RP tidak terdaftar

Masalah ini terjadi ketika penyedia sumber daya HybridConnectivity tidak terdaftar untuk langganan. Kesalahan:

  • Permintaan Informasi Azure Relay Gagal: Kode (NoRegisteredProviderFound): NoRegisteredProviderFound

Resolusi:

  • Jalankan az provider register -n Microsoft.HybridConnectivity
  • Konfirmasi keberhasilan dengan menjalankan az provider show -n Microsoft.HybridConnectivity, verifikasi bahwa registrationState diatur ke Registered
  • Mulai ulang agen hibrid di server yang diaktifkan Arc

Tidak dapat tersambung setelah memperbarui alat CLI dan agen Arc

Masalah ini terjadi ketika perintah yang diperbarui membuat konfigurasi layanan baru sebelum agen Arc diperbarui. Ini hanya akan berdampak pada versi Azure Arc yang lebih lama dari 1.31 saat memperbarui ke versi 1.31 atau yang lebih baru. Kesalahan:

  • Koneksi ditutup oleh port UNKNOWN 65535

    Resolusi:

    • Hapus konfigurasi layanan yang ada dan izinkan untuk dibuat ulang oleh perintah CLI pada koneksi berikutnya. Jalankan:
      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
      

Menonaktifkan SSH ke server dengan dukungan Arc

Fungsionalitas ini dapat dinonaktifkan dengan menyelesaikan tindakan berikut:

  • Hapus port dan fungsionalitas SSH dari server berkemampuan 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\"}}'
    
  • Hapus titik akhir konektivitas default:

    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
    

Langkah berikutnya

  • Pelajari tentang akses SSH ke server dengan dukungan Azure Arc.
  • Pelajari tentang pemecahan masalah koneksi agen.