الاتصال إلى جهاز ظاهري باستخدام Bastion وعميل Linux الأصلي

تساعدك هذه المقالة على الاتصال عبر Azure Bastion بجهاز ظاهري في VNet باستخدام العميل الأصلي على كمبيوتر Linux المحلي. تتيح لك ميزة العميل الأصلي الاتصال بالأجهزة الظاهرية الهدف عبر Bastion باستخدام Azure CLI، وتوسيع خيارات تسجيل الدخول لتشمل زوج مفاتيح SSH المحلي ومعرف Microsoft Entra. لمزيد من المعلومات والخطوات لتكوين Bastion لاتصالات العميل الأصلية، راجع تكوين Bastion لاتصالات العميل الأصلية. تتطلب الاتصال عبر العميل الأصلي SKU القياسي Bastion أو أعلى.

يوضح الرسم التخطيطي اتصالا عبر العميل الأصلي.

بعد تكوين Bastion لدعم العميل الأصلي، يمكنك الاتصال بجهاز ظاهري باستخدام عميل Linux أصلي. تعتمد الطريقة التي تستخدمها للاتصال على كل من العميل الذي تتصل منه، والجهاز الظاهري الذي تتصل به. تعرض القائمة التالية بعض الطرق المتاحة التي يمكنك من خلالها الاتصال من عميل Linux الأصلي. راجع الاتصال إلى الأجهزة الظاهرية للحصول على القائمة الكاملة التي تعرض مجموعات ميزات/اتصال العميل المتوفرة.

  • الاتصال إلى Linux VM باستخدام az network bastion ssh.
  • الاتصال إلى جهاز ظاهري يعمل بنظام Windows باستخدام نفق az network bastion.
  • الاتصال إلى أي جهاز ظاهري باستخدام نفق az network bastion.
  • تحميل الملفات إلى الجهاز الظاهري الهدف عبر SSH باستخدام نفق az network bastion. يعتبر تنزيل الملف من الجهاز الظاهري الهدف إلى العميل المحلي غير مدعوم حاليا لهذا الأمر.

المتطلبات الأساسية

قبل البدء، لابد أن تكون لديك المتطلبات الأساسية التالية:

التحقق من الأدوار والمنافذ

تحقق من تكوين الأدوار والمنافذ التالية للاتصال بالجهاز الظاهري.

الأدوار المطلوبة

  • دور قارئ الملفات في الجهاز الظاهري.

  • دور قارئ الملفات في NIC باستخدام IP خاص في الجهاز الظاهري.

  • دور القارئ في مورد Azure Bastion.

  • تسجيل الدخول إلى الجهاز الظاهري مسؤول istrator أو دور تسجيل دخول مستخدم الجهاز الظاهري، إذا كنت تستخدم أسلوب تسجيل الدخول إلى Microsoft Entra. لا تحتاج إلى القيام بذلك إلا إذا كنت تقوم بتمكين تسجيل الدخول إلى Microsoft Entra باستخدام العمليات الموضحة في إحدى هذه المقالات:

منافذ

للاتصال بجهاز Linux الظاهري باستخدام دعم العميل الأصلي، يجب أن تكون المنافذ التالية مفتوحة على جهاز Linux الظاهري :

  • المنفذ الوارد: SSH (22) أو
  • المنفذ الوارد: قيمة مخصصة (ستكون بحاجة بعد ذلك إلى تحديد هذا المنفذ المخصص عند الاتصال بجهاز ظاهري عبر Azure Bastion)

للاتصال بجهاز Windows الظاهري باستخدام دعم العميل الأصلي، يجب أن تكون المنافذ التالية مفتوحة على جهاز Windows الظاهري :

  • المنفذ الوارد: RDP (3389) أو
  • المنفذ الوارد: قيمة مخصصة (ستكون بحاجة بعد ذلك إلى تحديد هذا المنفذ المخصص عند الاتصال بجهاز ظاهري عبر Azure Bastion)

للتعرف على كيفية تكوين مجموعات أمان الشبكة بشكل أفضل باستخدام Azure Bastion، راجع العمل مع الوصول إلى NSG وAzure Bastion.

الاتصال بجهاز ظاهري لـ Linux

تساعدك الخطوات الواردة في الأقسام التالية على الاتصال بجهاز Linux الظاهري من عميل Linux الأصلي باستخدام الأمر az network bastion . يمكن تثبيت هذا الملحق عن طريق تشغيل ، az extension add --name bastion.

عند الاتصال باستخدام هذا الأمر، لا يتم دعم عمليات نقل الملفات. إذا كنت ترغب في تحميل الملفات، فاتصل باستخدام الأمر az network bastion tunnel بدلا من ذلك.

يتيح لك هذا الأمر القيام بما يلي:

  • الاتصال إلى Linux VM باستخدام SSH.
  • المصادقة عبر معرف Microsoft Entra
  • الاتصال إلى جلسات VM المتزامنة داخل الشبكة الظاهرية.

لتسجيل الدخول، استخدم أحد الأمثلة التالية. بمجرد تسجيل الدخول إلى الجهاز الظاهري المستهدف، يفتح العميل الأصلي على الكمبيوتر الخاص بك مع جلسة عمل الجهاز الظاهري.

زوج مفاتيح SSH

لتسجيل الدخول إلى الجهاز الظاهري باستخدام زوج مفاتيح SSH، استخدم المثال التالي.

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

مصادقة Microsoft Entra

إذا كنت تقوم بتسجيل الدخول إلى جهاز ظاهري ممكن لتسجيل الدخول من Microsoft Entra، فاستخدم المثال التالي. لمزيد من المعلومات، راجع أجهزة Azure Linux الظاهرية ومعرف Microsoft Entra.

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

اسم المستخدم / كلمة المرور

إذا كنت تقوم بتسجيل الدخول إلى الجهاز الظاهري باستخدام اسم مستخدم وكلمة مرور محليين، فاستخدم المثال التالي. ستطالب بكلمة المرور للجهاز الظاهري الهدف.

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

SSH إلى عنوان IP الخاص ب Linux VM

يمكنك الاتصال بعنوان IP خاص للجهاز الظاهري بدلا من معرف المورد. يجب أن تدرك أن مصادقة Microsoft Entra والمنافذ والبروتوكولات المخصصة غير مدعومة عند استخدام هذا النوع من الاتصال. لمزيد من المعلومات حول الاتصالات المستندة إلى IP، راجع الاتصال إلى جهاز ظاهري - عنوان IP.

باستخدام الأمر ، استبدل az network bastion --target-resource-id بعنوان --target-ip-address IP المحدد للاتصال بجهازك الظاهري. يستخدم المثال التالي --ssh-key لأسلوب المصادقة.

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

الاتصال إلى جهاز ظاهري - أمر نفق

الأمر az network bastion tunnel هو طريقة أخرى يمكنك من خلالها الاتصال بالأجهزة الظاهرية الخاصة بك. عند استخدام هذا الأمر، يمكنك القيام بما يلي:

  • الاتصال من العملاء الأصليين على أجهزة كمبيوتر محلية غير Windows. (على سبيل المثال، كمبيوتر Linux.)
  • الاتصال إلى جهاز ظاهري باستخدام SSH أو RDP. (لا يقوم نفق bastion بترحيل خوادم الويب أو المضيفين.)
  • استخدم عميل أصلي من اختيارك.
  • حمل الملفات إلى الجهاز الظاهري المستهدف من الكمبيوتر المحلي. يعتبر تنزيل الملف من الجهاز الظاهري الهدف إلى العميل المحلي غير مدعوم حاليا لهذا الأمر.

القيود:

  • يعتبر تسجيل الدخول باستخدام مفتاح خاص SSH مخزن في Azure Key Vault غير مدعوم مع هذه الميزة. نزل المفتاح الخاص بك إلى ملف على جهازك المحلي قبل تسجيل الدخول إلى الجهاز الظاهري Linux باستخدام زوج مفاتيح SSH.
  • هذه الميزة غير مدعومة على Cloud Shell.

الخطوات:

  1. سجل الدخول إلى حساب Azure الخاص بك باستخدام az login. إذا كان لديك أكثر من اشتراك واحد، يمكنك عرضها باستخدام az account list وتحديد الاشتراك الذي يحتوي على مورد Bastion الخاص بك باستخدام az account set --subscription "<subscription ID>".

  2. افتح النفق إلى الجهاز الظاهري المستهدف.

    az network bastion tunnel --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId or VMSSInstanceResourceId>" --resource-port "<TargetVMPort>" --port "<LocalMachinePort>"
    
  3. الاتصال إلى الجهاز الظاهري المستهدف باستخدام SSH أو RDP والعميل الأصلي الذي تختاره ومنفذ الجهاز المحلي الذي حددته في الخطوة السابقة.

    على سبيل المثال، يمكنك استخدام الأمر التالي إذا كان عميل OpenSSH مثبتاً على جهاز الكمبيوتر المحلي لديك:

    ssh <username>@127.0.0.1 -p <LocalMachinePort>
    

نفق إلى عنوان IP للجهاز الظاهري

يمكنك أيضا الاتصال بعنوان IP خاص بالجهاز الظاهري، بدلا من معرف المورد. لا يتم دعم مصادقة Microsoft Entra والمنافذ والبروتوكولات المخصصة عند استخدام هذا النوع من الاتصال. لمزيد من المعلومات حول الاتصالات المستندة إلى IP، راجع الاتصال إلى جهاز ظاهري - عنوان IP.

باستخدام الأمر ، استبدل az network bastion tunnel --target-resource-id بعنوان --target-ip-address IP المحدد للاتصال بجهازك الظاهري.

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

نفق متعدد الاتصالات

  1. أضف ما يلي إلى $HOME.ssh\config.

    Host tunneltunnel
      HostName 127.0.0.1
      Port 2222
      User mylogin
      StrictHostKeyChecking=No
      UserKnownHostsFile=\\.\NUL
    
  2. أضف اتصال النفق إلى اتصال النفق الذي تم إنشاؤه.

    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. إنشاء نفق ssh في نفق bastion.

    ssh -L 2222:127.0.0.1:22 mylogin@127.0.0.1
    
  4. استخدم VS Code للاتصال باتصال النفق.

الخطوات التالية

تحميل الملفات أو تنزيلها