كيفية الاتصال باستخدام Secure Shell (SSH) وتسجيل الدخول إلى جهاز ظاهري Azure يعمل بنظام Windows
ينطبق على: ✔️ أجهزة ظاهرية تعمل بنظام التشغيل Windows ✔️ مجموعات تغيير السعة المرنة
يجعل مشروع Win32 OpenSSH الاتصال عن بعد مع Secure Shell في كل مكان من خلال توفير الدعم الأصلي في Windows. يتم توفير الإمكانية في إصدار Windows Server 2019 والإصدارات الأحدث، ويمكن إضافتها إلى الإصدارات الأقدم من Windows باستخدام ملحق الجهاز الظاهري (VM).
تستخدم الأمثلة أدناه المتغيرات. يمكنك تعيين المتغيرات في البيئة الخاصة بك كما يلي.
Shell | مثال |
---|---|
Bash/ZSH | myResourceGroup='resGroup10' |
PowerShell | $myResourceGroup='resGroup10' |
تمكين SSH
أولا، ستحتاج إلى تمكين SSH في جهاز Windows.
انشر ملحق SSH لنظام التشغيل Windows. يوفر الملحق تثبيتًا تلقائيًا لحل Win32 OpenSSH، على غرار تمكين القدرة في الإصدارات الأحدث من Windows. استخدم الأمثلة التالية لنشر الملحق.
az vm extension set --resource-group $myResourceGroup --vm-name $myVM --name WindowsOpenSSH --publisher Microsoft.Azure.OpenSSH --version 3.0
افتح منفذ TCP
تأكد من أن المنفذ المناسب (افتراضيًا، TCP 22) مفتوح للسماح بالاتصال بالجهاز الظاهري.
az network nsg rule create -g $myResourceGroup --nsg-name $myNSG -n allow-SSH --priority 1000 --source-address-prefixes 208.130.28.4/32 --destination-port-ranges 22 --protocol TCP
يجب أن يكون للجهاز الظاهري عنوان IP عام. للتحقق مما إذا كان الجهاز الظاهري يحتوي على عنوان IP عام، حدد نظرة عامة من القائمة اليمنى وانظر إلى قسم الاتصال بالشبكة. إذا رأيت عنوان IP بجوار عنوان IP العام، فهذا يعني أن جهازك الظاهري يحتوي على عنوان IP عام. لمعرفة المزيد حول إضافة عنوان IP عام إلى جهاز ظاهري موجود، راجع إقران عنوان IP عام بجهاز ظاهري
تأكد من تشغيل الجهاز الظاهري الخاص بك. في علامة التبويب نظرة عامة، في قسم الأساسيات، تحقق أن حالة الجهاز الظاهري قيد التشغيل. في أعلى الصفحة، حدد ابدأ لإعادة تشغيل الجهاز الظاهري.
المصادقة
يمكنك المصادقة على أجهزة Windows باستخدام إما اسم المستخدم وكلمة المرور أو مفاتيح SSH. لا يدعم Azure توفير المفاتيح العامة لأجهزة Windows تلقائيا، ولكن يمكنك نسخ المفتاح باستخدام ملحق RunCommand.
نظرة عامة على SSH والمفاتيح
SSH هو بروتوكول اتصال مُشفّر يوفر عمليات تسجيل دخول آمنة عبر اتصالات غير آمنة. على الرغم من أن SSH يوفر اتصالاً مشفراً، فإن استخدام كلمات المرور مع اتصالات SSH لا يزال يترك الجهاز الظاهري عرضة لهجمات القوة الغاشمة. نوصي بالاتصال بجهاز ظاهري عبر SSH باستخدام زوج مفاتيح عام-خاص، يُعرف أيضاً باسم مفاتيح SSH.
يتم وضع المفتاح العام على الجهاز الظاهري الخاص بك.
يظل المفتاح الخاص على نظامك المحلي. عليك حماية هذا المفتاح الخاص. لا تشاركه.
عندما تستخدم عميل SSH للاتصال بجهاز VM الخاص بك (الذي يحتوي على المفتاح العام)، يقوم الجهاز الظاهري البعيد باختبار العميل للتأكد من أنه يحتوي على المفتاح الخاص الصحيح. إذا كان العميل لديه المفتاح الخاص، فإنه يتم منح حق الوصول إلى الجهاز الظاهري.
استنادا إلى نهج الأمان الخاصة بالمؤسسة، يمكنك إعادة استخدام زوج مفاتيح واحد من القطاعين العام والخاص للوصول إلى العديد من خدمات أجهزة Azure الظاهرية وخدماتها. لا تحتاج إلى زوج منفصل من المفاتيح لكل جهاز ظاهري أو خدمة ترغب في الوصول إليها.
يمكن مشاركة مفتاحك العام مع أي شخص، ولكن يجب أن يتوفر لديك (أو لدى البنية الأساسية الأمنية المحلية التي تعمل لديها) حق الوصول إلى مفتاحك الخاص.
تنسيقات مفاتيح SSH المدعومة
يدعم Azure حاليا أنواع المفاتيح التالية:
- بروتوكول SSH 2 (SSH-2) RSA (Rivest، Shamir، Adleman) بحد أدنى 2048 بت
- مفاتيح ED25519 بطول ثابت يبلغ 256 بت
لا يتم حاليا دعم التنسيقات الرئيسية الأخرى مثل Diffie-curve Diffie-Hellman (ECDH) وخوارزمية التوقيع الرقمي للمنحنى الناقص (ECDSA).
انسخ مفتاحًا عامًا باستخدام ملحق RunCommand.
يوفر ملحق RunCommand حلاً سهلاً لنسخ مفتاح عام إلى أجهزة Windows والتأكد من أن الملف لديه الأذونات الصحيحة.
az vm run-command invoke -g $myResourceGroup -n $myVM --command-id RunPowerShellScript --scripts "MYPUBLICKEY | Add-Content 'C:\ProgramData\ssh\administrators_authorized_keys' -Encoding UTF8;icacls.exe 'C:\ProgramData\ssh\administrators_authorized_keys' /inheritance:r /grant 'Administrators:F' /grant 'SYSTEM:F'"
الاتصال باستخدام Az CLI
الاتصال بأجهزة Windows باستخدام Az SSH
الأوامر.
az ssh vm -g $myResourceGroup -n $myVM --local-user $myUsername
من الممكن أيضا إنشاء نفق شبكة لمنافذ TCP معينة من خلال اتصال SSH. حالة استخدام جيدة لهذا هو Remote Desktop الذي يتم تعيينه افتراضيًا على المنفذ 3389.
az ssh vm -g $myResourceGroup -n $myVM --local-user $myUsername -- -L 3389:localhost:3389
تواصل من مدخل Microsoft Azure
- انتقل إلى مدخل Azure للاتصال بجهاز ظاهري. العثور على الأجهزة الظاهرية وتحديدها.
- حدد الجهاز الظاهري من القائمة.
- حدد الاتصال من القائمة اليسرى.
- حدد الخيار الذي يتناسب مع الطريقة المفضلة للاتصال. يساعد المدخل على إرشادك خلال المتطلبات الأساسية للاتصال.
الخطوات التالية
تعرف على كيفية نقل الملفات إلى جهاز ظاهري موجود، راجع استخدام SCP لنقل الملفات من وإلى جهاز ظاهري.