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

عند استضافة جهاز ظاهري Linux على Azure، فإن الطريقة الأكثر شيوعا للوصول إلى هذا الجهاز الظاهري هي من خلال بروتوكول Secure Shell (SSH). يسمح لك أي عميل SSH قياسي موجود عادة في Linux وWindows بالاتصال. يمكنك أيضا استخدام Azure Cloud Shell من أي متصفح.

يوضح هذا المستند كيفية الاتصال، عبر SSH، بجهاز ظاهري يحتوي على عنوان IP عام. إذا كنت بحاجة إلى الاتصال بجهاز ظاهري بدون عنوان IP عام، فراجع خدمة Azure Bastion.

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

  • تحتاج إلى مفتاح مزدوج SSH. إذا لم يكن لديك واحد بالفعل، يقوم Azure بإنشاء زوج مفاتيح أثناء عملية النشر. إذا كنت بحاجة إلى مساعدة بشأن إنشاء مفتاح يدويا، فراجع إنشاء مفتاح مزدوج SSH عام-خاص واستخدامه لأجهزة Linux الظاهرية في Azure.

  • تحتاج إلى مجموعة أمان شبكة موجودة (NSG). تحتوي معظم الأجهزة الظاهرية على مجموعة أمان الشبكة بشكل افتراضي، ولكن إذا لم يكن لديك مجموعة بالفعل، يمكنك إنشاء واحدة وإرفاقها يدويا. لمزيد من المعلومات، راجع إنشاء مجموعة أمان شبكة أو تغييرها أو حذفها.

  • للاتصال بجهاز Linux الظاهري، تحتاج إلى فتح المنفذ المناسب. عادة ما يستخدم SSH المنفذ 22. تفترض الإرشادات التالية أن المنفذ 22 ولكن لا تتغير العملية بالنسبة لأرقام المنافذ الأخرى. يمكنك التحقق من صحة وجود منفذ مناسب مفتوح لـ SSH باستخدام مستكشف الأخطاء ومصلحها أو عن طريق التحقق يدويا في إعدادات الجهاز الظاهري. للتحقق مما إذا كان المنفذ 22 مفتوحا:

    1. في صفحة الجهاز الظاهري، حدد الاتصال بالشبكة من القائمة اليسرى.

    2. في صفحة Networking ، تحقق لمعرفة ما إذا كانت هناك قاعدة تسمح ب TCP على المنفذ 22 من عنوان IP للكمبيوتر الذي تستخدمه للاتصال بالجهاز الظاهري. إذا كانت القاعدة موجودة، يمكنك الانتقال إلى القسم التالي.

      Screenshot showing how to check to see if there's already a rule allowing S S H connections.

    3. إذا لم تكن هناك قاعدة، فأضف واحدة عن طريق تحديد إضافة قاعدة منفذ وارد.

    4. بالنسبة للخدمة، حدد SSH من القائمة المنسدلة.

      Screenshot showing where to choose S S H when creating a new N S G rule.

    5. تحرير الأولويةوالمصدر إذا لزم الأمر

    6. بالنسبة إلى الاسم، حدد SSH.

    7. عندما تنتهي، حدد إضافة.

    8. يجب أن يكون لديك الآن قاعدة SSH في جدول قواعد المنفذ الوارد.

  • يجب أن يكون للجهاز الظاهري عنوان IP عام. للتحقق مما إذا كان الجهاز الظاهري يحتوي على عنوان IP عام، حدد نظرة عامة من القائمة اليمنى وانظر إلى قسم الاتصال بالشبكة. إذا رأيت عنوان IP بجوار عنوان IP العام، فهذا يعني أن جهازك الظاهري يحتوي على عنوان IP عام

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

    Screenshot of how the networking section looks when you don't have a public I P.

    لمعرفة المزيد حول إضافة عنوان IP عام إلى جهاز ظاهري موجود، راجع إقران عنوان IP عام بجهاز ظاهري

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

    Screenshot showing how to check to make sure your virtual machine is in the running state.

إذا كنت تواجه مشكلة في الاتصال، يمكنك أيضا استخدام المدخل:

  1. انتقل إلى مدخل Azure للاتصال بجهاز ظاهري. العثور على الأجهزة الظاهرية وتحديدها.
  2. حدد الجهاز الظاهري من القائمة.
  3. حدد الاتصال من القائمة اليسرى.
  4. حدد الخيار الذي يتناسب مع الطريقة المفضلة للاتصال. يساعد المدخل على إرشادك خلال المتطلبات الأساسية للاتصال.

الاتصال بـVM

بمجرد استيفاء المتطلبات الأساسية المذكورة أعلاه، تكون مستعدا للاتصال بجهاز VM الخاص بك. افتح عميل SSH الذي تختاره. يتم تضمين أمر عميل SSH عادة في Linux وmacOS وWindows. إذا كنت تستخدم Windows 7 أو إصدارا أقدم، حيث لا يتم تضمين Win32 OpenSSH بشكل افتراضي، ففكر في تثبيت WSL أو استخدام Azure Cloud Shell من المستعرض.

إشعار

تفترض الأمثلة التالية أن المفتاح SSH بتنسيق key.pem. إذا استخدمت CLI أو Azure PowerShell لتنزيل مفاتيحك، فقد تكون بتنسيق id_rsa.

SSH مع مفتاح مزدوج جديد

  1. تأكد من أن المفاتيح العامة والخاصة موجودة في الدليل الصحيح. عادة ما يكون الدليل ~/.ssh.

    إذا قمت بإنشاء المفاتيح يدويا أو قمت بإنشائها باستخدام CLI، فمن المحتمل أن تكون المفاتيح موجودة بالفعل. ومع ذلك، إذا قمت بتنزيلها بتنسيق pem من مدخل Azure، فقد تحتاج إلى نقلها إلى الموقع الصحيح. يتم نقل المفاتيح باستخدام بناء الجملة التالي: mv PRIVATE_KEY_SOURCE PRIVATE_KEY_DESTINATION

    على سبيل المثال، إذا كان المفتاح موجودا في Downloads المجلد، وكان myKey.pem اسم مفتاح SSH، فاكتب:

    mv /Downloads/myKey.pem ~/.ssh
    

    إشعار

    إذا كنت تستخدم WSL، يتم العثور على الملفات المحلية في الدليل mnt/c/. وفقا لذلك، سيكون المسار إلى مجلد التنزيلات ومفتاح SSH /mnt/c/Users/{USERNAME}/Downloads/myKey.pem

  2. تأكد من أن لديك حق الوصول للقراءة فقط إلى المفتاح الخاص عن طريق تشغيل

    chmod 400 ~/.ssh/myKey.pem
    
  3. قم بتشغيل الأمر SSH باستخدام بناء الجملة التالي: ssh -i PATH_TO_PRIVATE_KEY USERNAME@EXTERNAL_IP

    على سبيل المثال، إذا كان azureuser اسم المستخدم الذي أنشأته و 20.51.230.13 هو عنوان IP العام للجهاز الظاهري، فاكتب:

    ssh -i ~/.ssh/myKey.pem azureuser@20.51.230.13
    
  4. التحقق من صحة بصمة الإصبع المرتجعة.

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

    ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub | awk '{print $2}'
    
  5. نجاح! يجب أن تكون متصلا الآن بجهاز VM الخاص بك. إذا لم تتمكن من الاتصال، فراجع استكشاف أخطاء اتصالات SSH وإصلاحها.

SSH مع المفتاح العام الحالي

  1. قم بتشغيل الأمر التالي في جلسة عميل SSH. في هذا المثال، 20.51.230.13 هو عنوان IP العام للجهاز الظاهري الخاص بك و azureuser هو اسم المستخدم الذي قمت بإنشائه عند إنشاء الجهاز الظاهري.

    ssh azureuser@20.51.230.13
    
  2. التحقق من صحة بصمة الإصبع المرتجعة.

    إذا لم تكن قد اتصلت أبدا بالجهاز الظاهري المطلوب من عميل SSH الحالي قبل أن يطلب منك التحقق من بصمة المضيف. في حين أن الخيار الافتراضي هو قبول بصمة الإصبع المقدمة، فإنك تتعرض ل "شخص محتمل في الهجوم الأوسط". يجب عليك دائما التحقق من صحة بصمة المضيف، والتي تحتاج فقط إلى القيام به في المرة الأولى التي يتصل فيها العميل. للحصول على بصمة المضيف عبر البوابة الإلكترونية، استخدم ميزة Run Command لتنفيذ الأمر:

    ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub | awk '{print $2}'
    
  3. نجاح! يجب أن تكون متصلا الآن بجهاز VM الخاص بك. إذا لم تتمكن من الاتصال، فراجع دليل استكشاف الأخطاء وإصلاحها.

مصادقة كلمة المرور

تحذير

هذا النوع من أسلوب المصادقة غير آمن مثل زوج مفاتيح SSH ولا يوصى به.

  1. قم بتشغيل الأمر التالي في جلسة عميل SSH. في هذا المثال، 20.51.230.13 هو عنوان IP العام للجهاز الظاهري الخاص بك و azureuser هو اسم المستخدم الذي قمت بإنشائه عند إنشاء الجهاز الظاهري.

    ssh azureuser@20.51.230.13
    

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

  2. التحقق من صحة بصمة الإصبع المرتجعة.

    إذا لم تكن قد اتصلت أبدا بالجهاز الظاهري المطلوب من عميل SSH الحالي قبل أن يطلب منك التحقق من بصمة المضيف. في حين أن الخيار الافتراضي هو قبول بصمة الإصبع المقدمة، فإنك تتعرض ل "شخص محتمل في الهجوم الأوسط". يجب عليك دائما التحقق من صحة بصمة المضيف، والتي تحتاج فقط إلى القيام به في المرة الأولى التي يتصل فيها العميل. للحصول على بصمة المضيف عبر البوابة الإلكترونية، استخدم ميزة Run Command لتنفيذ الأمر:

    ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub | awk '{print $2}'
    
  3. نجاح! يجب أن تكون متصلا الآن بجهاز VM الخاص بك. إذا لم تتمكن من الاتصال، فراجع استكشاف أخطاء اتصالات SSH وإصلاحها.

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

تعرف على كيفية نقل الملفات إلى جهاز ظاهري موجود، راجع استخدام SCP لنقل الملفات من وإلى جهاز ظاهري.