مشاركة عبر


إدارة SSH للوصول الآمن إلى عقد خدمة Azure Kubernetes (AKS)

تشرح هذه المقالة كيفية تكوين الوصول إلى SSH (المعاينة) على مجموعات AKS أو مجموعات العقد، أثناء النشر الأولي أو في وقت لاحق.

يدعم AKS خيارات التكوين التالية لإدارة الوصول إلى SSH على عقد العنقود:

  • تعطيل SSH: تعطيل الوصول إلى عقد العنقود بالكامل من SSH لتعزيز الأمان
  • SSH المعتمد على معرف إنترا: استخدم بيانات اعتماد Microsoft Entra ID للمصادقة على SSH. فوائد استخدام نظام SSH المعتمد على Entra ID:
    • إدارة الهوية المركزية: استخدم هويات Entra ID الحالية للوصول إلى عقد العنقود
    • عدم إدارة مفاتيح SSH: يلغي الحاجة إلى توليد وتوزيع وتدوير مفاتيح SSH
    • تعزيز الأمان: الاستفادة من ميزات أمان Entra ID مثل الوصول المشروط والمصادقة متعددة العوامل
    • التدقيق والامتثال: تسجيل مركزي لأحداث الوصول عبر سجلات Entra ID
    • الوصول المباشر: دمجه مع Azure RBAC للتحكم الدقيق في الوصول
  • SSH المستخدم المحلي: المصادقة التقليدية القائمة على مفاتيح SSH للوصول إلى العقدة

هام

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

هام

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

المتطلبات

  • تتطلب هذه المقالة الإصدار 2.61.0 أو أحدث من Azure CLI. إذا كنت تستخدم Azure Cloud Shell، فإن أحدث إصدار مثبت بالفعل هناك.

  • تحتاج aks-preview إلى الإصدار 9.0.0b1 أو أحدث.

    • إذا لم يكن لديك الامتداد aks-preview من قبل، فقم بتثبيته باستخدام الأمر:az extension add
      az extension add --name aks-preview
      
    • إذا كان لديك الامتداد aks-preview بالفعل، فقم بتحديثه للتأكد من أن لديك أحدث إصدار باستخدام az extension update الأمر:
      az extension update --name aks-preview
      
  • تسجيل علامة الميزة DisableSSHPreview باستخدام az feature register الأمر .

    az feature register --namespace "Microsoft.ContainerService" --name "DisableSSHPreview"
    

    يستغرق الأمر بضع دقائق حتى تظهر الحالة مُسجل.

  • تحقق من حالة التسجيل باستخدام az feature show الأمر .

    az feature show --namespace "Microsoft.ContainerService" --name "DisableSSHPreview"
    
  • عندما تعكس الحالة Registered، قم بتحديث تسجيل موفر موارد Microsoft.ContainerService باستخدام az provider register الأمر .

    az provider register --namespace Microsoft.ContainerService
    
  • تتطلب هذه المقالة الإصدار 2.73.0 أو أحدث من واجهة الأزرور. إذا كنت تستخدم Azure Cloud Shell، فإن أحدث إصدار مثبت بالفعل هناك.

  • تحتاج aks-preview إلى الإصدار 19.0.0b7 أو أحدث لنظام Entra ID SSH.

    • إذا لم يكن لديك الامتداد aks-preview من قبل، فقم بتثبيته باستخدام الأمر:az extension add
      az extension add --name aks-preview
      
    • إذا كان لديك الامتداد aks-preview بالفعل، فقم بتحديثه للتأكد من أن لديك أحدث إصدار باستخدام az extension update الأمر:
      az extension update --name aks-preview
      
  • أما الأذونات المناسبة من Azure RBAC للوصول إلى العقد:

    • الإجراء المطلوب: Microsoft.Compute/virtualMachineScaleSets/*/read - قراءة معلومات مجموعات مقياس الآلة الافتراضية
  • تسجيل علامة الميزة EntraIdSSHPreview باستخدام az feature register الأمر .

    az feature register --namespace "Microsoft.ContainerService" --name "EntraIdSSHPreview"
    

    يستغرق الأمر بضع دقائق حتى تظهر الحالة مُسجل.

  • تحقق من حالة التسجيل باستخدام az feature show الأمر .

    az feature show --namespace "Microsoft.ContainerService" --name "EntraIdSSHPreview"
    
  • عندما تعكس الحالة Registered، قم بتحديث تسجيل موفر موارد Microsoft.ContainerService باستخدام az provider register الأمر .

    az provider register --namespace Microsoft.ContainerService
    
  • تتطلب هذه المقالة الإصدار 2.61.0 أو أحدث من Azure CLI. إذا كنت تستخدم Azure Cloud Shell، فإن أحدث إصدار مثبت بالفعل هناك.
  • تحتاج aks-preview إلى الإصدار 9.0.0b1 أو أحدث لتحديث طريقة الوصول إلى SSH على مجموعات العقد.
    • إذا لم يكن لديك الامتداد aks-preview من قبل، فقم بتثبيته باستخدام الأمر:az extension add
      az extension add --name aks-preview
      
    • إذا كان لديك الامتداد aks-preview بالفعل، فقم بتحديثه للتأكد من أن لديك أحدث إصدار باستخدام az extension update الأمر:
      az extension update --name aks-preview
      

تعيين متغيرات البيئة

قم بتعيين المتغيرات البيئية التالية لمجموعة الموارد الخاصة بك، واسم المجموعة، والموقع:

export RESOURCE_GROUP="<your-resource-group-name>"
export CLUSTER_NAME="<your-cluster-name>"
export LOCATION="<your-azure-region>"

Limitations

  • Entra ID SSH إلى العقد غير متوفر بعد لمجموعة العقد في ويندوز.
  • لا يدعم SSH من Entra ID إلى العقد في AKS التلقائي بسبب إغلاق مجموعة موارد العقد الذي يمنع تعيين الأدوار.

تكوين الوصول إلى SSH

لتحسين الأمان ودعم متطلبات أو استراتيجية أمان الشركة، يدعم AKS تعطيل SSH على العنقود وعلى مستوى مجموعة العقد. يقدم تعطيل SSH نهجا مبسطا مقارنة بتكوين قواعد مجموعة أمان الشبكة على بطاقة واجهة الشبكة الفرعية/العقدة (NIC) الخاصة ب AKS. يدعم تعطيل SSH تجمعات عقد مجموعات مقياس الجهاز الظاهري فقط.

عند تعطيل SSH في وقت إنشاء نظام المجموعة، يصبح ساري المفعول بعد إنشاء نظام المجموعة. ومع ذلك، عند تعطيل SSH على مجموعة أو تجمع عقدة موجود، لا يقوم AKS بتعطيل SSH تلقائيا. في أي وقت، يمكنك اختيار تنفيذ عملية ترقية nodepool. تبدأ عملية تعطيل/تفعيل SSH بتفعيل بعد اكتمال تحديث صورة العقدة.

إشعار

عند تعطيل SSH على مستوى نظام المجموعة، فإنه ينطبق على جميع تجمعات العقد الموجودة. سيتم تمكين SSH بشكل افتراضي لأي تجمعات عقد تم إنشاؤها بعد هذه العملية، وستحتاج إلى تشغيل هذه الأوامر مرة أخرى لتعطيلها.

إشعار

تستمر عقدة تصحيح أخطاء kubectl في العمل بعد تعطيل SSH لأنها لا تعتمد على خدمة SSH.

إنشاء مجموعة موارد

إنشاء مجموعة موارد باستخدام az group create الأمر .

az group create --name $RESOURCE_GROUP --location $LOCATION

تعطيل SSH على نشر نظام مجموعة جديد

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

az aks create استخدم الأمر لإنشاء نظام مجموعة جديد، وقم بتضمين الوسيطة --ssh-access disabled لتعطيل SSH (معاينة) على جميع تجمعات العقد أثناء إنشاء نظام المجموعة.

هام

بعد تعطيل خدمة SSH، لا يمكنك SSH في نظام المجموعة لتنفيذ المهام الإدارية أو لاستكشاف الأخطاء وإصلاحها.

إشعار

في العنقود الذي تم إنشاؤه حديثا، فإن تعطيل SSH سيضبط فقط أول مجموعة عقد نظام. جميع مجموعات العقد الأخرى يجب أن تكون مضبوطة على مستوى مجموعة العقد.

az aks create --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --ssh-access disabled

بعد بضع دقائق، الأمر إكمال وإرجاع معلومات منسقة JSON حول الكتلة. يشبه المثال التالي الإخراج والنتائج المتعلقة بتعطيل SSH:

"securityProfile": {
  "sshAccess": "Disabled"
},

تعطيل SSH لتجمع عقدة جديد

az aks nodepool add استخدم الأمر لإضافة تجمع عقدة، وقم بتضمين الوسيطة --ssh-access disabled لتعطيل SSH أثناء إنشاء تجمع العقدة.

az aks nodepool add \
    --cluster-name $CLUSTER_NAME \
    --name mynodepool \
    --resource-group $RESOURCE_GROUP \
    --ssh-access disabled

بعد بضع دقائق، يكمل الأمر ويعيد معلومات بتنسيق JSON حول المجموعة التي تشير إلى إنشاء mynodepool بنجاح. يشبه المثال التالي الإخراج والنتائج المتعلقة بتعطيل SSH:

"securityProfile": {
  "sshAccess": "Disabled"
},

تعطيل SSH لتجمع عقدة موجود

هام

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

استخدم الأمر az aks nodepool update مع الوسيط --ssh-access disabled لتعطيل SSH (المعاينة) في مجموعة عقد موجودة.

az aks nodepool update \
    --cluster-name $CLUSTER_NAME \
    --name mynodepool \
    --resource-group $RESOURCE_GROUP \
    --ssh-access disabled

بعد بضع دقائق، يكمل الأمر ويعيد معلومات منسقة بتنسيق JSON عن العنقود، مما يشير إلى أن mynodepool تم تحديثه بنجاح. يشبه المثال التالي الإخراج والنتائج المتعلقة بتعطيل SSH:

"securityProfile": {
  "sshAccess": "Disabled"
},

لكي يسري التغيير، تحتاج إلى إعادة تعيين تجمع العقدة باستخدام az aks nodepool upgrade الأمر .

az aks nodepool upgrade \
    --cluster-name $CLUSTER_NAME \
    --name mynodepool \
    --resource-group $RESOURCE_GROUP \
    --node-image-only

هام

لتعطيل SSH على نظام مجموعة موجود، تحتاج إلى تعطيل SSH لكل تجمع عقدة على هذه المجموعة.

إعادة تمكين الوصول إلى SSH

لإعادة تمكين الوصول إلى SSH على تجمع العقد، قم بتحديث تجمع العقد إما --ssh-access localuser (للوصول التقليدي القائم على مفتاح SSH) أو --ssh-access entraid (للوصول القائم على معرف إنترا). راجع الأقسام المعنية للحصول على تعليمات تفصيلية.

يمكنك تكوين عنقود AKS الخاص بك لاستخدام Microsoft Entra ID (المعروف سابقا باسم Azure AD) للمصادقة على SSH لعقد العنقود. هذا يلغي الحاجة لإدارة مفاتيح SSH ويسمح لك باستخدام بيانات اعتماد Entra ID للوصول إلى العقد بأمان.

إنشاء مجموعة موارد

إنشاء مجموعة موارد باستخدام az group create الأمر .

az group create --name $RESOURCE_GROUP --location $LOCATION

تفعيل SSH المعتمد على معرف إنترا على عنقود جديد

استخدم الأمر az aks create مع الوسيط --ssh-access entraid لتمكين مصادقة SSH المعتمدة على معرف إنترا أثناء إنشاء العنقود.

az aks create \
    --resource-group $RESOURCE_GROUP \
    --name $CLUSTER_NAME \
    --ssh-access entraid

بعد بضع دقائق، الأمر إكمال وإرجاع معلومات منسقة JSON حول الكتلة. المثال التالي يشبه الناتج:

"securityProfile": {
  "sshAccess": "EntraID"
},

تفعيل SSH القائم على معرف إنترا لمجموعة عقد جديدة

استخدم الأمر az aks nodepool add مع الوسيط --ssh-access entraid لتفعيل SSH القائم على معرف إنترا أثناء إنشاء مجموعة العقد.

az aks nodepool add \
    --cluster-name $CLUSTER_NAME \
    --name mynodepool \
    --resource-group $RESOURCE_GROUP \
    --ssh-access entraid

بعد بضع دقائق، يكمل الأمر ويعيد معلومات منسقة بتنسيق JSON تشير إلى أن mynodepool تم إنشاؤه بنجاح باستخدام SSH المعتمد على معرف Entra. المثال التالي يشبه الناتج:

"securityProfile": {
  "sshAccess": "EntraID"
},

تمكين SSH القائم على معرف Entra لمجموعة عقد موجودة

استخدم الأمر az aks nodepool update مع الوسيط --ssh-access entraid لتمكين SSH المعتمد على معرف إنترا على مجموعة عقد موجودة.

az aks nodepool update \
    --cluster-name $CLUSTER_NAME \
    --name mynodepool \
    --resource-group $RESOURCE_GROUP \
    --ssh-access entraid

بعد بضع دقائق، يكمل الأمر ويعيد المعلومات المنسقة بنظام JSON التي تشير إلى أن mynodepool تم تحديثه بنجاح باستخدام SSH المعتمد على Entra ID. المثال التالي يشبه الناتج:

"securityProfile": {
  "sshAccess": "EntraID"
},

لكي يسري التغيير، تحتاج إلى إعادة تعيين تجمع العقدة باستخدام az aks nodepool upgrade الأمر .

az aks nodepool upgrade \
    --cluster-name $CLUSTER_NAME \
    --name mynodepool \
    --resource-group $RESOURCE_GROUP \
    --node-image-only

هام

لتمكين SSH المعتمد على معرف Entra على مجموعة موجودة، تحتاج إلى تفعيله لكل مجموعة عقدة بشكل فردي.

يستخدم وصول المستخدمين المحليين إلى SSH المصادقة التقليدية القائمة على مفاتيح SSH. هذه هي الطريقة الافتراضية للوصول إلى SSH لمجموعات AKS.

إنشاء مجموعة موارد

إنشاء مجموعة موارد باستخدام az group create الأمر .

az group create --name $RESOURCE_GROUP --location $LOCATION

إنشاء نظام مجموعة AKS باستخدام مفاتيح SSH

استخدم الأمر az aks create لنشر نظام مجموعة AKS باستخدام مفتاح عام SSH. يمكنك إما تحديد المفتاح أو ملف المفتاح باستخدام الوسيط، --ssh-key-value أو استخدامه --ssh-access localuser لتعيين وصول المستخدم المحلي إلى SSH بشكل صريح.

معلمة SSH ‏‏الوصف‬ القيمة الافتراضية
--generate-ssh-key إذا لم يكن لديك مفاتيح SSH الخاصة بك، فحدد --generate-ssh-key. يقوم Azure CLI تلقائيا بإنشاء مجموعة من مفاتيح SSH وحفظها في الدليل ~/.ssh/الافتراضي .
--ssh-key-value مسار المفتاح العام أو محتويات المفتاح المراد تثبيتها على الأجهزة الظاهرية للعقدة للوصول إلى SSH. على سبيل المثال، ssh-rsa AAAAB...snip...UcyupgH azureuser@linuxvm ~/.ssh/id_rsa.pub
--ssh-access localuser تمكين وصول SSH للمستخدم المحلي بشكل صريح من خلال المصادقة المعتمدة على المفاتيح.
--no-ssh-key إذا لم تكن بحاجة إلى مفاتيح SSH، فحدد هذه الوسيطة. ومع ذلك، يقوم AKS تلقائيا بإنشاء مجموعة من مفاتيح SSH لأن تبعية مورد Azure Virtual Machine لا تدعم ملف مفاتيح SSH فارغ. ونتيجة لذلك، لا يتم إرجاع المفاتيح ولا يمكن استخدامها ل SSH في الأجهزة الظاهرية للعقدة. يتم تجاهل المفتاح الخاص وعدم حفظه.

إشعار

إذا لم يتم تحديد أي معلمات، فإن Azure CLI افتراضيا للإشارة إلى مفاتيح SSH المخزنة ~/.ssh/id_rsa.pub في الملف. إذا لم يتم العثور على المفاتيح، يقوم الأمر بإرجاع الرسالة An RSA key file or key value must be supplied to SSH Key Value.

أمثلة:

  • لإنشاء نظام مجموعة واستخدام مفاتيح SSH الافتراضية التي تم إنشاؤها:

    az aks create --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --generate-ssh-key
    
  • لتحديد ملف مفتاح عام لنظام SSH:

    az aks create --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --ssh-key-value ~/.ssh/id_rsa.pub
    
  • لتمكين وصول SSH للمستخدم المحلي بشكل صريح:

    az aks create --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --ssh-access localuser --generate-ssh-key
    

تمكين SSH للمستخدم المحلي لمجموعة عقد جديدة

استخدم الأمر az aks nodepool add مع الوسيط --ssh-access localuser لتفعيل SSH المستخدم المحلي أثناء إنشاء تجمع العقد.

az aks nodepool add \
    --cluster-name $CLUSTER_NAME \
    --name mynodepool \
    --resource-group $RESOURCE_GROUP \
    --ssh-access localuser

تمكين SSH للمستخدم المحلي لمجموعة عقد موجودة

هام

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

استخدم الأمر az aks nodepool update مع الوسيط --ssh-access localuser لتمكين SSH للمستخدم المحلي على مجموعة عقد موجودة.

az aks nodepool update \
    --cluster-name $CLUSTER_NAME \
    --name mynodepool \
    --resource-group $RESOURCE_GROUP \
    --ssh-access localuser

هام

لكي يسري التغيير، تحتاج إلى إعادة تعيين تجمع العقدة باستخدام az aks nodepool upgrade الأمر .

az aks nodepool upgrade \
    --cluster-name $CLUSTER_NAME \
    --name mynodepool \
    --resource-group $RESOURCE_GROUP \
    --node-image-only

تحديث المفتاح العام SSH على نظام مجموعة AKS موجود

az aks update استخدم الأمر لتحديث المفتاح العام SSH (معاينة) على نظام المجموعة. تحدث هذه العملية المفتاح على جميع تجمعات العقد. يمكنك إما تحديد مفتاح أو ملف مفتاح باستخدام الوسيطة --ssh-key-value .

إشعار

يتم دعم تحديث مفاتيح SSH على مجموعات مقياس الجهاز الظاهري Azure مع مجموعات AKS.

أمثلة:

  • لتحديد قيمة مفتاح عام جديدة لنظام SSH:

    az aks update --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --ssh-key-value 'ssh-rsa AAAAB3Nza-xxx'
    
  • لتحديد ملف مفتاح عام لنظام SSH:

    az aks update --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --ssh-key-value ~/.ssh/id_rsa.pub
    

هام

بعد تحديث مفتاح SSH، لا تقوم AKS بتحديث تجمع العقدة تلقائيا. في أي وقت، يمكنك اختيار إجراء عملية ترقية تجمع العقد. تسري عملية تحديث مفاتيح SSH بعد اكتمال تحديث صورة العقدة. بالنسبة للمجموعات التي تم تمكين التوفير التلقائي للعقدة ، يمكن إجراء تحديث صورة عقدة عن طريق تطبيق تسمية جديدة على مورد Kubernetes NodePool المخصص.

تحقق من حالة خدمة SSH

بعد تعطيل SSH، يمكنك التحقق من أن خدمة SSH غير نشطة على عقد العنقود الخاصة بك.

استخدم أمر تعيين az vmss run-command invoke مقياس الآلة الافتراضية للتحقق من حالة خدمة SSH.

az vmss run-command invoke --resource-group <node-resource-group> --name <vmss-name> --command-id RunShellScript --instance-id 0 --scripts "systemctl status ssh"

تظهر عينة الإخراج التالية النتيجة المتوقعة عند تعطيل SSH:

{
  "value": [
    {
      "code": "ProvisioningState/succeeded",
      "displayStatus": "Provisioning succeeded",
      "level": "Info",
      "message": "Enable succeeded: \n[stdout]\n○ ssh.service - OpenBSD Secure Shell server\n     Loaded: loaded (/lib/systemd/system/ssh.service; disabled; vendor preset: enabled)\n     Active: inactive (dead) since Wed 2024-01-03 15:36:53 UTC; 25min ago\n..."
    }
  ]
}

ابحث عن كلمة نشط وتحقق من أن قيمتها هي Active: inactive (dead)، مما يؤكد أن SSH معطلة على العقدة.

بعد تفعيل SSH المعتمد على Entra ID، يمكنك التحقق من أن خدمة SSH نشطة ومهيأة لمصادقة Entra ID على عقد العنقود الخاصة بك.

استخدم أمر تعيين az vmss run-command invoke مقياس الآلة الافتراضية للتحقق من حالة خدمة SSH.

az vmss run-command invoke --resource-group <node-resource-group> --name <vmss-name> --command-id RunShellScript --instance-id 0 --scripts "systemctl status ssh"

تظهر عينة الإخراج التالية النتيجة المتوقعة عند تفعيل SSH:

{
  "value": [
    {
      "code": "ProvisioningState/succeeded",
      "displayStatus": "Provisioning succeeded",
      "level": "Info",
      "message": "Enable succeeded: \n[stdout]\n● ssh.service - OpenBSD Secure Shell server\n     Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)\n     Active: active (running) since Wed 2024-01-03 15:40:20 UTC; 19min ago\n..."
    }
  ]
}

ابحث عن كلمة نشط وتحقق من أن قيمتها هي Active: active (running)، مما يؤكد تفعيل SSH على العقدة.

بعد تكوين SSH للمستخدم المحلي، يمكنك التحقق من أن خدمة SSH نشطة على عقد العنقود الخاصة بك.

استخدم أمر تعيين az vmss run-command invoke مقياس الآلة الافتراضية للتحقق من حالة خدمة SSH.

az vmss run-command invoke --resource-group <node-resource-group> --name <vmss-name> --command-id RunShellScript --instance-id 0 --scripts "systemctl status ssh"

تظهر عينة الإخراج التالية النتيجة المتوقعة عند تفعيل SSH:

{
  "value": [
    {
      "code": "ProvisioningState/succeeded",
      "displayStatus": "Provisioning succeeded",
      "level": "Info",
      "message": "Enable succeeded: \n[stdout]\n● ssh.service - OpenBSD Secure Shell server\n     Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)\n     Active: active (running) since Wed 2024-01-03 15:40:20 UTC; 19min ago\n..."
    }
  ]
}

ابحث عن كلمة نشط وتحقق من أن قيمتها هي Active: active (running)، مما يؤكد تفعيل SSH على العقدة.

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

للمساعدة في استكشاف أي مشكلات في اتصال SSH بعقد مجموعاتك وإصلاحها، يمكنك عرض سجلات kubelet أو عرض سجلات العقدة الرئيسية Kubernetes.