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.
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.
- az network bastion ssh kullanarak Bir Linux VM'sine bağlanın.
- az network bastion tunnel komutunu kullanarak bir Windows VM'sine bağlanın.
- az network bastion tunnel kullanarak herhangi bir VM'ye bağlanın.
- Az network bastion tunnel kullanarak SSH üzerinden hedef VM'nize dosya aktarabilirsiniz.
Ö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 bastion
iç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:
- Windows VM veya Linux VM için Microsoft Entra oturum açmayı etkinleştirin.
- Windows VM'nizi Microsoft Entra'ya katılmış olacak şekilde yapılandırın.
- Windows VM'nizi Microsoft Entra karmasına katılmış olacak şekilde yapılandırın.
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:
kullanarak
az login
Azure hesabınızda oturum açın. Birden fazla aboneliğiniz varsa, kullanarak bunlarıaz account list
görüntüleyebilir ve kullanarakaz account set --subscription "<subscription ID>"
Bastion kaynağınızı içeren aboneliği seçebilirsiniz.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>"
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
aşağıdakileri $HOME.ssh\config dosyanıza ekleyin.
Host tunneltunnel HostName 127.0.0.1 Port 2222 User mylogin StrictHostKeyChecking=No UserKnownHostsFile=\\.\NUL
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
Savunma tünelinde bir ssh tüneli oluşturun.
ssh -L 2222:127.0.0.1:22 mylogin@127.0.0.1
Tünel bağlantınıza bağlanmak için VS Code kullanın.