الاتصال بجهاز ظاهري باستخدام Bastion وعميل Linux الأصلي
تساعدك هذه المقالة على الاتصال عبر Azure Bastion بجهاز ظاهري في الشبكة الظاهرية باستخدام العميل الأصلي على كمبيوتر 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.
المتطلبات الأساسية
قبل البدء، لابد أن تكون لديك المتطلبات الأساسية التالية:
- تم تثبيت أحدث إصدار من أوامر واجهة سطر الأوامر (الإصدار 2.32 أو أحدث). يمكنك تحديث CLI الخاص بك ل Bastion باستخدام
az extension update --name bastion
. للحصول على معلومات حول تثبيت أوامر CLI، راجع تثبيت CLI Azureوابدأ بالاستخدام مع Azure CLI. - تم بالفعل نشر Azure Bastion وتكوينه لشبكتك الظاهرية. للحصول على خطوات، راجع تكوين Bastion لاتصالات العميل الأصلية.
- جهاز ظاهري في الشبكة الظاهرية.
- معرف مورد الجهاز الظاهري. يمكن وضع Resource ID بسهولة في مدخل Microsoft Azure. انتقل إلى صفحة «Overview» على الجهاز الظاهري وحدد الرابط JSON View لفتح المورد JSON. انسخ معرف المورد الموجود في أعلى الصفحة إلى الحافظة الخاصة بك لاستخدامه لاحقا عند الاتصال بالجهاز الظاهري الخاص بك.
- إذا كنت تخطط لتسجيل الدخول إلى جهازك الظاهري باستخدام بيانات اعتماد Microsoft Entra، فتأكد من إعداد جهازك الظاهري باستخدام إحدى الطرق التالية:
- تمكين تسجيل الدخول إلى Microsoft Entra ل Windows VM أو Linux VM.
- قم بتكوين جهاز Windows الظاهري الخاص بك ليكون Microsoft Entra منضما.
- قم بتكوين جهاز Windows الظاهري الخاص بك ليكون Microsoft Entra مختلطا مرتبطا.
التحقق من الأدوار والمنافذ
تحقق من تكوين الأدوار والمنافذ التالية للاتصال بالجهاز الظاهري.
الأدوار المطلوبة
دور قارئ الملفات في الجهاز الظاهري.
دور قارئ الملفات في NIC باستخدام IP خاص في الجهاز الظاهري.
دور القارئ في مورد Azure Bastion.
تسجيل دخول مسؤول الجهاز الظاهري أو دور تسجيل دخول مستخدم الجهاز الظاهري، إذا كنت تستخدم أسلوب تسجيل الدخول إلى 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-address "<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.
الخطوات:
سجل الدخول إلى حساب Azure الخاص بك باستخدام
az login
. إذا كان لديك أكثر من اشتراك واحد، يمكنك عرضها باستخدامaz account list
وتحديد الاشتراك الذي يحتوي على مورد Bastion الخاص بك باستخدامaz account set --subscription "<subscription ID>"
.افتح النفق إلى الجهاز الظاهري المستهدف.
az network bastion tunnel --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId or VMSSInstanceResourceId>" --resource-port "<TargetVMPort>" --port "<LocalMachinePort>"
اتصل بالجهاز الظاهري المستهدف باستخدام 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>"
نفق متعدد الاتصالات
أضف ما يلي إلى $HOME.ssh\config.
Host tunneltunnel HostName 127.0.0.1 Port 2222 User mylogin StrictHostKeyChecking=No UserKnownHostsFile=\\.\NUL
أضف اتصال النفق إلى اتصال النفق الذي تم إنشاؤه.
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
إنشاء نفق ssh في نفق bastion.
ssh -L 2222:127.0.0.1:22 mylogin@127.0.0.1
استخدم VS Code للاتصال باتصال النفق.