Bastion ve Linux yerel istemcisi kullanarak vm'ye Bağlan

Bu makale, Yerel Linux bilgisayarınızdaki yerel istemciyi kullanarak Azure Bastion aracılığıyla sanal ağdaki bir VM'ye bağlanmanıza yardımcı olur. Yerel istemci özelliği, Azure CLI kullanarak Bastion aracılığıyla hedef VM'lerinize bağlanmanıza olanak tanır ve oturum açma seçeneklerinizi yerel SSH anahtar çifti ile Microsoft Entra Id'yi içerecek şekilde genişletir. Yerel istemci bağlantıları için Bastion'ı yapılandırma hakkında daha fazla bilgi ve adım için bkz . Bastion'ı yerel istemci bağlantıları için yapılandırma. Yerel istemci aracılığıyla Bağlan için Bastion Standart SKU'su gerekir.

Diagram shows a connection via native client.

Bastion'ı yerel istemci desteği için yapılandırdıktan sonra, yerel bir Linux istemcisi kullanarak bir VM'ye bağlanabilirsiniz. Bağlanmak için kullandığınız yöntem hem bağlandığınız istemciye hem de bağlandığınız VM'ye bağlıdır. Aşağıdaki listede, Linux yerel istemcisinden bağlanabileceğiniz bazı kullanılabilir yollar gösterilmektedir. Kullanılabilir istemci bağlantısı/özellik birleşimlerini gösteren tam liste için bkz. VM'lere Bağlan.

  • az network bastion ssh kullanarak Linux VM'sine Bağlan.
  • az network bastion tunnel kullanarak bir Windows VM'sine Bağlan.
  • az network bastion tunnel kullanarak herhangi bir VM'ye Bağlan.
  • az network bastion tunnel kullanarak SSH üzerinden hedef VM'nize dosya yükleyin. Hedef VM'den yerel istemciye dosya indirme şu anda bu komut için desteklenmiyor.

Ön koşullar

Başlamadan önce aşağıdaki önkoşullara sahip olduğunuzu doğrulayın:

  • CLI komutlarının en son sürümü (sürüm 2.32 veya üzeri) yüklenir. Kullanarak Bastion az extension update --name bastioniçin CLI'nızı güncelleştirebilirsiniz. CLI komutlarını yükleme hakkında bilgi için bkz. Azure CLI’yi yükleme ve Azure CLI’yi Kullanmaya Başlama.
  • Azure Bastion sanal ağınız için zaten dağıtılmış ve yapılandırılmıştır. Adımlar için bkz . Bastion'ı yerel istemci bağlantıları için yapılandırma.
  • Sanal ağdaki bir sanal makine.
  • VM'nin Kaynak Kimliği. Kaynak Kimliği, Azure portalında kolayca bulunabilir. VM'nizin Genel Bakış sayfasına gidin ve Kaynak JSON'unu açmak için JSON Görünümü bağlantısını seçin. Daha sonra VM'nize bağlanırken kullanmak üzere sayfanın üst kısmındaki Kaynak Kimliğini panonuza kopyalayın.
  • Microsoft Entra kimlik bilgilerinizi kullanarak sanal makinenizde oturum açmayı planlıyorsanız, sanal makinenizin aşağıdaki yöntemlerden birini kullanarak ayarlandığından emin olun:

Rolleri ve bağlantı noktalarını doğrulama

VM'ye bağlanmak için aşağıdaki rollerin ve bağlantı noktalarının yapılandırıldığını doğrulayın.

Gerekli roller

  • Sanal makinedeki okuyucu rolü.

  • Sanal makinenin özel IP'sine sahip NIC'de okuyucu rolü.

  • Azure Bastion kaynağında okuyucu rolü.

  • Microsoft Entra oturum açma yöntemini kullanıyorsanız Sanal Makine Yönetici istrator Oturum Açma veya Sanal Makine Kullanıcı Oturumu Açma rolü. Bunu yapmanız için şu makalelerden birinde açıklanan işlemleri kullanarak Microsoft Entra oturum açma özelliğini etkinleştirmeniz gerekir:

Bağlantı Noktaları

Yerel istemci desteğini kullanarak bir Linux VM'ye bağlanmak için Linux VM'nizde aşağıdaki bağlantı noktalarının açık olması gerekir:

  • Gelen bağlantı noktası: SSH (22) veya
  • Gelen bağlantı noktası: Özel değer (daha sonra Azure Bastion aracılığıyla VM'ye bağlanırken bu özel bağlantı noktasını belirtmeniz gerekir)

Yerel istemci desteğini kullanarak bir Windows VM'ye bağlanmak için Windows VM'nizde aşağıdaki bağlantı noktalarının açık olması gerekir:

  • Gelen bağlantı noktası: RDP (3389) veya
  • Gelen bağlantı noktası: Özel değer (daha sonra Azure Bastion aracılığıyla VM'ye bağlanırken bu özel bağlantı noktasını belirtmeniz gerekir)

Azure Bastion ile NSG'leri en iyi şekilde yapılandırma hakkında bilgi edinmek için bkz . NSG erişimi ve Azure Bastion ile çalışma.

Linux VM'ye bağlanma

Aşağıdaki bölümlerde yer alan adımlar, az network bastion komutunu kullanarak Linux yerel istemcisinden Linux VM'sine bağlanmanıza yardımcı olur. Bu uzantı, az extension add --name bastionçalıştırılarak yüklenebilir.

Bu komutu kullanarak bağlandığınızda dosya aktarımları desteklenmez. Dosyaları karşıya yüklemek istiyorsanız bunun yerine az network bastion tunnel komutunu kullanarak bağlanın.

Bu komut aşağıdakileri yapmanızı sağlar:

  • SSH kullanarak Linux VM'sine Bağlan.
  • Microsoft Entra Kimliği ile kimlik doğrulaması
  • Sanal ağ içindeki eşzamanlı VM oturumlarına Bağlan.

Oturum açmak için aşağıdaki örneklerden birini kullanın. Hedef VM'nizde oturum açtıktan sonra, bilgisayarınızdaki yerel istemci VM oturumunuzla açılır.

SSH anahtar çifti

SSH anahtar çifti kullanarak VM'nizde oturum açmak için aşağıdaki örneği kullanın.

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

Microsoft Entra doğrulaması

Microsoft Entra oturum açma özellikli bir VM'de oturum açıyorsanız aşağıdaki örneği kullanın. Daha fazla bilgi için bkz . Azure Linux VM'leri ve Microsoft Entra Id.

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

Kullanıcı adı/parola

Vm'nizde yerel bir kullanıcı adı ve parola kullanarak oturum açıyorsanız aşağıdaki örneği kullanın. Ardından hedef VM için parola girmeniz istenir.

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

Linux VM IP adresine SSH

Kaynak kimliği yerine vm özel IP adresine bağlanabilirsiniz. Bu bağlantı türü kullanılırken Microsoft Entra kimlik doğrulamasının ve özel bağlantı noktalarının ve protokollerin desteklenmediğini unutmayın. IP tabanlı bağlantılar hakkında daha fazla bilgi için bkz. VM'ye Bağlan - IP adresi.

az network bastion komutunu kullanarak ve --target-resource-id--target-ip-address değerini ve belirtilen IP adresini kullanarak VM'nize bağlanın. Aşağıdaki örnekte kimlik doğrulama yöntemi için --ssh-key kullanılır.

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

VM'ye Bağlan - tunnel komutu

az network bastion tunnel komutu, VM'lerinize bağlanabilmenizin başka bir yoludur. Bu komutu kullandığınızda aşağıdakileri yapabilirsiniz:

  • Windows dışındaki yerel bilgisayarlardaki yerel istemcilerden Bağlan. (Örneğin, bir Linux bilgisayar.)
  • SSH veya RDP kullanarak vm'ye Bağlan. (Savunma tüneli web sunucularını veya konakları geçirmez.)
  • Seçtiğiniz yerel istemciyi kullanın.
  • Dosyaları yerel bilgisayarınızdan hedef VM'nize yükleyin. Hedef VM'den yerel istemciye dosya indirme şu anda bu komut için desteklenmiyor.

Sınırlamalar:

  • Azure Key Vault'ta depolanan bir SSH özel anahtarı kullanarak oturum açmak bu özellikte desteklenmez. Linux VM'nizde SSH anahtar çifti kullanarak oturum açmadan önce özel anahtarınızı yerel makinenizdeki bir dosyaya indirin.
  • Bu özellik Cloud Shell'de desteklenmez.

Adımlar:

  1. kullanarak az loginAzure hesabınızda oturum açın. Birden fazla aboneliğiniz varsa, kullanarak bunları az account list görüntüleyebilir ve kullanarak az account set --subscription "<subscription ID>"Bastion kaynağınızı içeren aboneliği seçebilirsiniz.

  2. Hedef VM'nizin tünelini açın.

    az network bastion tunnel --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId or VMSSInstanceResourceId>" --resource-port "<TargetVMPort>" --port "<LocalMachinePort>"
    
  3. SSH veya RDP, seçtiğiniz yerel istemci ve önceki adımda belirttiğiniz yerel makine bağlantı noktasını kullanarak hedef VM'nize Bağlan.

    Örneğin, yerel bilgisayarınızda OpenSSH istemcisi yüklüyse aşağıdaki komutu kullanabilirsiniz:

    ssh <username>@127.0.0.1 -p <LocalMachinePort>
    

VM IP adresine tünel oluşturma

Kaynak kimliği yerine vm özel IP adresine de bağlanabilirsiniz. Bu bağlantı türü kullanılırken Microsoft Entra kimlik doğrulaması ve özel bağlantı noktaları ve protokoller desteklenmez. IP tabanlı bağlantılar hakkında daha fazla bilgi için bkz. VM'ye Bağlan - IP adresi.

az network bastion tunnel komutunu kullanarak ve --target-resource-id--target-ip-address değerini ve belirtilen IP adresini kullanarak VM'nize bağlanın.

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

Çoklu bağlantı tüneli

  1. aşağıdakileri $HOME.ssh\config dosyanıza ekleyin.

    Host tunneltunnel
      HostName 127.0.0.1
      Port 2222
      User mylogin
      StrictHostKeyChecking=No
      UserKnownHostsFile=\\.\NUL
    
  2. Tünel bağlantısını, yerleşik tünel bağlantınıza ekleyin.

    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. Savunma tünelinde bir ssh tüneli oluşturun.

    ssh -L 2222:127.0.0.1:22 mylogin@127.0.0.1
    
  4. Tünel bağlantınıza bağlanmak için VS Code kullanın.

Sonraki adımlar

Dosyaları karşıya yükleme veya indirme