Menyambungkan ke VM menggunakan Bastion dan klien asli Linux

Artikel ini membantu Anda terhubung melalui Azure Bastion ke VM di jaringan virtual menggunakan klien asli di komputer Linux lokal Anda. Fitur klien asli memungkinkan Anda terhubung ke VM target melalui Bastion menggunakan Azure CLI, dan memperluas opsi masuk Anda untuk menyertakan pasangan kunci SSH lokal dan ID Microsoft Entra. Untuk informasi dan langkah-langkah selengkapnya untuk mengonfigurasi Bastion untuk koneksi klien asli, lihat Mengonfigurasi Bastion untuk koneksi klien asli. Koneksi melalui klien asli memerlukan SKU Standar Bastion atau yang lebih tinggi.

Diagram memperlihatkan koneksi melalui klien asli.

Setelah mengonfigurasi Bastion untuk dukungan klien asli, Anda dapat terhubung ke VM menggunakan klien Linux asli. Metode yang Anda gunakan untuk menyambungkan tergantung pada klien dari mana Anda menghubungkan, dan VM ke mana Anda menghubungkan. Daftar berikut menunjukkan beberapa cara yang tersedia untuk terhubung dari klien asli Linux. Lihat Menyambungkan ke VM untuk daftar lengkap yang memperlihatkan kombinasi koneksi/fitur klien yang tersedia.

  • Sambungkan ke VM Linux menggunakan az network bastion ssh.
  • Sambungkan ke VM Windows menggunakan az network bastion tunnel.
  • Sambungkan ke VM apa pun menggunakan az network bastion tunnel.
  • Transfer file ke VM target Anda melalui SSH menggunakan az network bastion tunnel.

Prerequisites

Sebelum memulai, verifikasi bahwa Anda memiliki prasyarat berikut:

Verifikasi peran dan port

Verifikasi bahwa peran dan port berikut dikonfigurasi untuk menyambungkan ke VM.

Peran yang diperlukan

  • Peran pembaca pada komputer virtual.

  • Peran pembaca pada NIC dengan IP privat dari mesin virtual.

  • Peran pembaca pada sumber daya Azure Bastion.

  • Peran Masuk Administrator Komputer Virtual atau Login Pengguna Komputer Virtual, jika Anda menggunakan metode masuk Microsoft Entra. Anda hanya perlu melakukan ini jika Anda mengaktifkan login Microsoft Entra menggunakan proses yang diuraikan dalam salah satu artikel ini:

Ports

Untuk menyambungkan ke VM Linux menggunakan dukungan klien asli, Anda harus membuka port berikut di VM Linux Anda:

  • Port masuk: SSH (22) atau
  • Port masuk: Nilai kustom (Anda kemudian perlu menentukan port kustom ini saat Anda tersambung ke VM melalui Azure Bastion)

Untuk menyambungkan ke VM Windows menggunakan dukungan klien asli, Anda harus membuka port berikut pada VM Windows Anda:

  • Port masuk: RDP (3389) atau
  • Port masuk: Nilai kustom (Anda kemudian perlu menentukan port kustom ini saat Anda tersambung ke VM melalui Azure Bastion)

Untuk mempelajari tentang cara terbaik mengonfigurasi NSG dengan Azure Bastion, lihat Bekerja dengan akses NSG dan Azure Bastion.

Menghubungkan ke VM Linux

Langkah-langkah di bagian berikut membantu Anda terhubung ke VM Linux dari klien asli Linux menggunakan perintah bastion jaringan az . Ekstensi ini dapat diinstal dengan menjalankan, az extension add --name bastion.

Saat Anda tersambung menggunakan perintah ini, transfer file tidak didukung. Jika Anda ingin mentransfer file, gunakan perintah az network bastion tunnel untuk sambungan sebagai gantinya.

Perintah ini memungkinkan Anda melakukan hal berikut:

  • Sambungkan ke VM Linux menggunakan SSH.
  • Mengautentikasi melalui ID Microsoft Entra
  • Sambungkan ke sesi VM bersamaan dalam jaringan virtual.

Untuk masuk, gunakan salah satu contoh berikut. Setelah Anda masuk ke VM target, klien asli di komputer Anda terbuka dengan sesi VM Anda.

Pasangan kunci SSH

Untuk masuk ke VM Anda menggunakan pasangan kunci SSH, gunakan contoh berikut.

az network bastion ssh --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId>" --auth-type "ssh-key" --username "<Username>" --ssh-key "<Filepath>"

Autentikasi Microsoft Entra

Jika Anda masuk ke VM yang mendukung login Microsoft Entra, gunakan contoh berikut. Untuk informasi selengkapnya, lihat VM Linux Azure dan ID Microsoft Entra.

az network bastion ssh --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId or VMSSInstanceResourceId>" --auth-type "AAD"

Username/password

Jika Anda masuk ke VM menggunakan nama pengguna dan kata sandi lokal, gunakan contoh berikut. Anda kemudian akan dimintai kata sandi untuk VM target.

az network bastion ssh --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId or VMSSInstanceResourceId>" --auth-type "password" --username "<Username>"

SSH ke alamat IP VM Linux

Anda dapat menyambungkan ke alamat IP privat VM alih-alih ID sumber daya. Autentikasi ID Microsoft Entra, dan port dan protokol kustom, tidak didukung saat menggunakan jenis koneksi ini. Untuk informasi selengkapnya tentang koneksi berbasis IP, lihat Menyambungkan ke VM - alamat IP.

Gunakan perintah az network bastion, ganti --target-resource-id dengan --target-ip-address dan alamat IP yang ditentukan untuk menghubungkan ke VM Anda. Contoh berikut menggunakan --ssh-key untuk metode autentikasi.

az network bastion ssh --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-ip-address "<VMIPAddress>" --auth-type "ssh-key" --username "<Username>" --ssh-key "<Filepath>"

Menghubungkan ke VM - perintah tunnel

Perintah tunnel bastion jaringan az adalah cara lain agar Anda dapat terhubung ke mesin virtual Anda. Saat menggunakan perintah ini, Anda bisa melakukan hal berikut:

  • Sambungkan dari klien asli di komputer lokal non-Windows. (Misalnya, komputer Linux.)
  • Sambungkan ke VM menggunakan SSH atau RDP. Terowongan bastion tidak meneruskan server web atau host.
  • Gunakan klien asli pilihan Anda.
  • Transfer file ke VM target Anda dari komputer lokal Anda.

Limitations:

  • Masuk menggunakan kunci privat SSH yang disimpan di Azure Key Vault tidak didukung dengan fitur ini. Sebelum masuk ke VM Linux Anda menggunakan pasangan kunci SSH, unduh kunci privat Anda ke file di komputer lokal Anda.
  • Fitur ini tidak didukung di Cloud Shell.

Steps:

  1. Masuk ke akun Azure Anda menggunakan az login. Jika Anda memiliki lebih dari satu langganan, Anda dapat melihatnya menggunakan az account list dan memilih langganan yang berisi sumber daya Bastion Anda menggunakan az account set --subscription "<subscription ID>".

  2. Buka terowongan ke VM target Anda. Tanpa hak istimewa root, gunakan port lokal 1024 atau lebih tinggi karena port di bawah ini yang merupakan port istimewa hanya dapat diakses oleh root.

    az network bastion tunnel --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId or VMSSInstanceResourceId>" --resource-port "<TargetVMPort>" --port "<LocalMachinePort>"
    
  3. Sambungkan ke VM target Anda menggunakan SSH atau RDP, klien asli pilihan Anda, dan port komputer lokal yang Anda tentukan di langkah sebelumnya.

    Misalnya, Anda dapat menggunakan perintah berikut jika Anda memiliki klien OpenSSH yang terinstal di komputer lokal Anda:

    ssh <username>@127.0.0.1 -p <LocalMachinePort>
    

Terowongan ke alamat IP VM

Anda juga dapat terhubung ke alamat IP privat VM, bukan ID sumber daya. Autentikasi ID Microsoft Entra, dan port dan protokol kustom, tidak didukung saat menggunakan jenis koneksi ini. Untuk informasi selengkapnya tentang koneksi berbasis IP, lihat Menyambungkan ke VM - alamat IP.

Gunakan perintah az network bastion tunnel, ganti --target-resource-id dengan --target-ip-address dan alamat IP yang ditentukan untuk menghubungkan ke VM Anda.

az network bastion tunnel --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-ip-address "<VMIPAddress>" --resource-port "<TargetVMPort>" --port "<LocalMachinePort>"

Terowongan koneksi ganda

  1. Tambahkan berikut ini ke $HOME.ssh\config Anda.

    Host tunneltunnel
      HostName 127.0.0.1
      Port 2222
      User mylogin
      StrictHostKeyChecking=No
      UserKnownHostsFile=\\.\NUL
    
  2. Tambahkan koneksi terowongan ke koneksi terowongan yang telah ada.

    az network bastion tunnel --name mybastion --resource-group myrg --target-resource-id /subscriptions/<mysubscription>/resourceGroups/myrg/providers/Microsoft.Compute/virtualMachines/myvm --resource-port 22 --port 22
    
  3. Buat terowongan ssh di terowongan bastion.

    ssh -L 2222:127.0.0.1:22 mylogin@127.0.0.1
    
  4. Gunakan Visual Studio Code untuk menyambungkan ke koneksi terowongan Anda.

Langkah selanjutnya

Mentransferkan file-file