Aracılığıyla paylaş


Bastion ve Linux yerel istemcisi kullanarak vm'ye bağlanma

Bu makale, Azure Bastion aracılığıyla yerel Linux bilgisayarınızdaki yerel istemciyi kullanarak 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 üzerinden yapılan bağlantılar için Bastion Standard SKU veya üzeri gerekir.

Diyagramda yerel istemci aracılığıyla bir bağlantı gösterilmektedir.

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ğlanma.

Önkoş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öneticisi Oturum Açma veya Sanal Makine Kullanıcısı Oturum 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ı aktarmak 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ın.
  • Microsoft Entra Kimliği ile kimlik doğrulaması
  • Sanal ağ içindeki eşzamanlı VM oturumlarına bağlanın.

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 Id 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ğlanma - 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-address "<VMIPAddress>" --auth-type "ssh-key" --username "<Username>" --ssh-key "<Filepath>"

VM'ye bağlanma - tünel komutu

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

  • Windows olmayan yerel bilgisayarlarda yerel istemcilerden bağlanın. (Örneğin, bir Linux bilgisayar.)
  • SSH veya RDP kullanarak vm'ye bağlanın. (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 aktarabilirsiniz.

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' yi, tercih ettiğiniz yerel istemciyi ve önceki adımda belirttiğiniz yerel makine bağlantı noktasını kullanarak hedef VM'nize bağlanın.

    Ö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 Id 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ğlanma - 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ı aktarma