الاتصال بجهاز ظاهري باستخدام Bastion والعميل الأصلي ل Windows
تساعدك هذه المقالة على الاتصال بجهاز ظاهري في الشبكة الظاهرية باستخدام العميل الأصلي (SSH أو RDP) على كمبيوتر Windows المحلي. تتيح لك ميزة العميل الأصلي الاتصال بالأجهزة الظاهرية الهدف عبر Bastion باستخدام Azure CLI، وتوسيع خيارات تسجيل الدخول لتشمل زوج مفاتيح SSH المحلي ومعرف Microsoft Entra. لمزيد من المعلومات والخطوات لتكوين Bastion لاتصالات العميل الأصلية، راجع تكوين Bastion لاتصالات العميل الأصلية. تتطلب الاتصالات عبر العميل الأصلي وحدة SKU القياسية Bastion أو أعلى.
بعد تكوين Bastion لدعم العميل الأصلي، يمكنك الاتصال بجهاز ظاهري باستخدام عميل Windows أصلي. تعتمد الطريقة التي تستخدمها للاتصال على كل من العميل الذي تتصل منه، والجهاز الظاهري الذي تتصل به. تعرض القائمة التالية بعض الطرق المتوفرة التي يمكنك من خلالها الاتصال من عميل Windows الأصلي. راجع الاتصال بالأجهزة الظاهرية للحصول على القائمة الكاملة التي تعرض مجموعات ميزات/اتصال العميل المتوفرة.
- الاتصال بجهاز ظاهري يعمل بنظام Windows باستخدام az network bastion rdp.
- الاتصال ب Linux VM باستخدام az network bastion ssh.
- الاتصال بجهاز ظاهري باستخدام نفق az network bastion.
- نقل الملفات عبر RDP.
- نقل الملفات عبر 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.
الاتصال بجهاز ظاهري
تساعدك الخطوات الواردة في الأقسام التالية على الاتصال بجهاز ظاهري من عميل Windows أصلي باستخدام الأمر az network bastion .
RDP إلى جهاز ظاهري يعمل بنظام Windows
عندما يتصل مستخدم بجهاز ظاهري يعمل بنظام Windows عبر RDP، يجب أن يكون لديه حقوق على الجهاز الظاهري الهدف. إذا لم يكن المستخدم مسؤولا محليا، أضف المستخدم إلى مجموعة مستخدمي سطح المكتب البعيد على الجهاز الظاهري الهدف.
سجل الدخول إلى حساب Azure الخاص بك باستخدام
az login
. إذا كان لديك أكثر من اشتراك واحد، يمكنك عرضها باستخدامaz account list
وتحديد الاشتراك الذي يحتوي على مورد Bastion الخاص بك باستخدامaz account set --subscription "<subscription ID>"
.للاتصال عبر RDP، استخدم المثال التالي.
az network bastion rdp --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId>"
بعد تشغيل الأمر، تتم مطالبتك بإدخال بيانات الاعتماد الخاصة بك. يمكنك استخدام اسم مستخدم وكلمة مرور محليين أو بيانات اعتماد Microsoft Entra. بمجرد تسجيل الدخول إلى الجهاز الظاهري المستهدف، يفتح العميل الأصلي على الكمبيوتر الخاص بك مع جلسة الجهاز الظاهري عبر MSTSC.
هام
يسمح بالاتصال عن بعد بالأجهزة الظاهرية التي تم ربطها بمعرف Microsoft Entra فقط من أجهزة الكمبيوتر التي تعمل بنظام Windows 10 أو أحدث المسجلة في Microsoft Entra (بدءا من Windows 10 20H1) أو Microsoft Entra المنضمة أو Microsoft Entra المختلطة المنضمة إلى نفس الدليل مثل الجهاز الظاهري.
تحديد أسلوب المصادقة
اختياريا، يمكنك أيضا تحديد أسلوب المصادقة كجزء من الأمر.
-
مصادقة Microsoft Entra: بالنسبة للإصدار 20H2+من Windows 10 وWindows 11 21H2+وWindows Server 2022، استخدم
--enable-mfa
. لمزيد من المعلومات، راجع az network bastion rdp - المعلمات الاختيارية.
تحديد منفذ مخصص
يمكنك تحديد منفذ مخصص عند الاتصال بجهاز ظاهري يعمل بنظام Windows عبر RDP.
أحد السيناريوهات التي قد يكون فيها هذا مفيدا بشكل خاص هو الاتصال بجهاز ظاهري يعمل بنظام Windows عبر المنفذ 22. هذا حل بديل محتمل للقيود مع الأمر az network bastion ssh ، والذي لا يمكن استخدامه من قبل عميل Windows الأصلي للاتصال بجهاز ظاهري يعمل بنظام Windows.
لتحديد منفذ مخصص، قم بتضمين الحقل --resource-port في أمر تسجيل الدخول، كما هو موضح في المثال التالي.
az network bastion rdp --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId>" --resource-port "22"
RDP إلى عنوان IP الخاص ب Windows VM
يمكنك أيضا الاتصال بعنوان IP خاص بالجهاز الظاهري، بدلا من معرف المورد. لا يتم دعم مصادقة Microsoft Entra والمنافذ والبروتوكولات المخصصة عند استخدام هذا النوع من الاتصال. لمزيد من المعلومات حول الاتصالات المستندة إلى IP، راجع الاتصال بجهاز ظاهري - عنوان IP.
باستخدام الأمر ، استبدل az network bastion
--target-resource-id
بعنوان --target-ip-address
IP المحدد للاتصال بجهازك الظاهري.
az network bastion rdp --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-ip-address "<VMIPAddress>"
SSH إلى Linux VM
سجل الدخول إلى حساب Azure الخاص بك باستخدام
az login
. إذا كان لديك أكثر من اشتراك واحد، يمكنك عرضها باستخدامaz account list
وتحديد الاشتراك الذي يحتوي على مورد Bastion الخاص بك باستخدامaz account set --subscription "<subscription ID>"
.سجل الدخول إلى جهاز Linux الظاهري الهدف الخاص بك باستخدام أحد خيارات المثال التالية. إذا كنت تريد تحديد قيمة منفذ مخصصة، فضمن الحقل --resource-port في أمر تسجيل الدخول.
معرف 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"
زوج مفاتيح SSH:
يمكن تثبيت الملحق من خلال تشغيل،
az extension add --name ssh
. في حال كنت تقوم بتسجيل الدخول باستخدام زوج مفاتيح SSH، فاستخدم المثال التالي.az network bastion ssh --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId or VMSSInstanceResourceId>" --auth-type "ssh-key" --username "<Username>" --ssh-key "<Filepath>"
اسم المستخدم/ كلمة المرور:
في حال كنت تقوم بتسجيل الدخول باستخدام اسم مستخدم وكلمة مرور محليين، فاستخدم المثال التالي. ستطالب بكلمة المرور للجهاز الظاهري الهدف.
az network bastion ssh --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId or VMSSInstanceResourceId>" --auth-type "password" --username "<Username>"
بمجرد تسجيل الدخول إلى الجهاز الظاهري الهدف الخاص بك، يفتح العميل الأصلي على الكمبيوتر الخاص بك مع جلسة عمل الجهاز الظاهري باستخدام ملحق SSH CLI (az ssh).
SSH إلى عنوان IP الخاص ب Linux VM
يمكنك أيضا الاتصال بعنوان IP خاص بالجهاز الظاهري، بدلا من معرف المورد. لا يتم دعم مصادقة Microsoft Entra والمنافذ والبروتوكولات المخصصة عند استخدام هذا النوع من الاتصال. لمزيد من المعلومات حول الاتصالات المستندة إلى IP، راجع الاتصال بجهاز ظاهري - عنوان IP.
باستخدام الأمر ، استبدل az network bastion
--target-resource-id
بعنوان --target-ip-address
IP المحدد للاتصال بجهازك الظاهري.
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 للاتصال باتصال النفق.