InstallSSHKey@0 - تثبيت مهمة مفتاح SSH v0

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

بناء الجملة

# Install SSH key v0
# Install an SSH key prior to a build or deployment.
- task: InstallSSHKey@0
  inputs:
    knownHostsEntry: # string. Alias: hostName. Required. Known Hosts Entry. 
    #sshPublicKey: # string. SSH Public Key. 
    #sshPassphrase: # string. SSH Passphrase. 
    sshKeySecureFile: # string. Required. SSH Key. 
  # Advanced
    #addEntryToConfig: false # boolean. Add entry to SSH config. Default: false.
    #configHostAlias: # string. Required when addEntryToConfig = true. Alias. 
    #configHostname: # string. Required when addEntryToConfig = true. Host name. 
    #configUser: # string. Optional. Use when addEntryToConfig = true. User. 
    #configPort: # string. Optional. Use when addEntryToConfig = true. Port.
# Install SSH key v0
# Install an SSH key prior to a build or deployment.
- task: InstallSSHKey@0
  inputs:
    knownHostsEntry: # string. Alias: hostName. Required. Known Hosts Entry. 
    #sshPublicKey: # string. SSH Public Key. 
    #sshPassphrase: # string. SSH Passphrase. 
    sshKeySecureFile: # string. Required. SSH Key.
# Install SSH key v0
# Install an SSH key prior to a build or deployment.
- task: InstallSSHKey@0
  inputs:
    knownHostsEntry: # string. Alias: hostName. Required. Known Hosts Entry. 
    sshPublicKey: # string. Required. SSH Public Key. 
    #sshPassphrase: # string. SSH Passphrase. 
    sshKeySecureFile: # string. Required. SSH Key.
# Install SSH Key v0
# Install an SSH key prior to a build or release.
- task: InstallSSHKey@0
  inputs:
    hostName: # string. Required. Known Hosts Entry. 
    sshPublicKey: # string. Required. SSH Public Key. 
    #sshPassphrase: # string. SSH Passphrase. 
    sshKeySecureFile: # string. Required. SSH Key.

الإدخالات

knownHostsEntry - إدخال المضيفين المعروفين
الاسم المستعار للإدخل: hostName. string. مطلوب

يحدد إدخال مفتاح SSH لملف known_hosts.


sshPublicKey - مفتاح SSH العام
string.

‏‏اختياري. يحدد محتويات مفتاح SSH العام.


sshPublicKey - مفتاح SSH العام
string. مطلوب

يحدد محتويات مفتاح SSH العام.


sshPassphrase - عبارة مرور SSH
string.

‏‏اختياري. يحدد عبارة المرور لمفتاح SSH، إن وجد.


sshKeySecureFile - مفتاح SSH
string. مطلوب

يحدد مفتاح SSH الذي تم تحميله إلى Secure Files لتثبيته على العامل.


addEntryToConfig - إضافة إدخال إلى تكوين SSH
boolean. القيمة الافتراضية: false.

‏‏اختياري. إضافة إدخال متعلق بالمفتاح الذي تم تثبيته إلى ملف تكوين SSH. سيكون الملف الرئيسي متوفرا لجميع المهام اللاحقة.


configHostAlias - الاسم المستعار
string. مطلوب عند addEntryToConfig = true.

يحدد اسم إدخال تكوين SSH.


configHostname - اسم المضيف
string. مطلوب عند addEntryToConfig = true.

يحدد خاصية اسم المضيف لإدخال تكوين SSH.


configUser - المستخدم
string. ‏‏اختياري. استخدم عندما addEntryToConfig = true.

يحدد خاصية اسم المستخدم لإدخال تكوين SSH.


configPort - منفذ
string. ‏‏اختياري. استخدم عندما addEntryToConfig = true.

يحدد منفذ إدخال تكوين SSH.


hostName - إدخال المضيفين المعروفين
string. مطلوب

يحدد إدخال مفتاح SSH لملف known_hosts.


خيارات التحكم بالمهمة

تحتوي جميع المهام على خيارات التحكم بالإضافة إلى مدخلات المهام الخاصة بها. لمزيد من المعلومات، راجع خيارات التحكم وخصائص المهمة الشائعة.

متغيرات الإخراج

لا شيء

الملاحظات

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

ملاحظة

تتطلب هذه المهمة Git Bash لنظام التشغيل Windows على العامل.

الاستخدام وأفضل الممارسات

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

نوصي بعدم تمرير المفتاح العام كنص عادي إلى تكوين المهمة. بدلا من ذلك، قم بتعيين متغير سري في البنية الأساسية لبرنامج ربط العمليات التجارية الخاصة بك لمحتويات الملف الخاص بك mykey.pub . بعد ذلك، قم باستدعاء المتغير في تعريف البنية الأساسية لبرنامج ربط العمليات التجارية ك $(myPubKey). بالنسبة للجزء السري من المفتاح الخاص بك، استخدم مكتبة الملفات الآمنة في Azure Pipelines.

لإنشاء مهمتك، استخدم المثال التالي لمهمة تثبيت مفتاح SSH مكونة بشكل جيد:

steps:
- task: InstallSSHKey@0
  displayName: 'Install an SSH key'
  inputs:
    knownHostsEntry: 'SHA256:1Hyr55tsxGifESBMc0s+2NtutnR/4+LOkVwrOGrIp8U johndoe@contoso'
    sshPublicKey: '$(myPubKey)'
    sshKeySecureFile: 'id_rsa'

ملاحظة

يجب إضافة المفتاح العام إلى المستودع\المؤسسة؛ وإلا، ستكون هناك مشكلات في الوصول. بالنسبة إلى GitHub، اتبع الدليل أعلاه. بالنسبة لخدمات Azure DevOps، استخدم إضافة المفتاح العام إلى خدمات Azure DevOps/TFS.

تثبيت مفاتيح SSH متعددة في نفس مهمة البنية الأساسية لبرنامج ربط العمليات التجارية

عند استخدام أكثر من مفتاح واحد في نفس مهمة البنية الأساسية لبرنامج ربط العمليات التجارية، يتم استخدام المفتاح الأول بشكل افتراضي. لتتمكن من استخدام المفتاح المطلوب عند إنشاء اتصال SSH، يمكنك استخدام Advanced قسم من المهمة لتعيين المعلمات التالية: addEntryToConfigوconfigHostnameconfigHostAliasconfigUser.configPortInstallSSHKey

تسمح لك هذه المعلمات بإضافة مضيف إلى ملف تكوين SSH (على سبيل المثال، /root/.ssh/config لنظام التشغيل Linux) من أجل استخدامه في البرامج النصية المخصصة عبر اسم مستعار.

بعد اكتمال الإنشاء، ستحاول المهمة استعادة ملف تكوين SSH الأصلي. إذا لم يكن هناك ملف تكوين SSH في البداية، تتم إزالة المضيف من العامل.

مثال على تثبيت مفاتيح SSH متعددة. الحالة مع العديد من مستودعات GitHub ومفتاحها الخاص لكل واحد:

pool: <Some Agent Pool>

steps:
- task: InstallSSHKey@0
  inputs:
    knownHostsEntry: $(known_host)
    sshPublicKey: $(first_public_key)
    sshKeySecureFile: $(first_private_key)
    addEntryToConfig: true
    configHostAlias: <first-host-alias>
    configHostname: github.com
    configUser: git
  displayName: Install First Repo SSH Key

- task: InstallSSHKey@0
  inputs:
    knownHostsEntry: $(known_host)
    sshPublicKey: $(second_public_key)
    sshKeySecureFile: $(second_private_key)
    addEntryToConfig: true
    configHostAlias: <second-host-alias>
    configHostname: github.com
    configUser: git
  displayName: Install Second Repo SSH Key

- bash: git clone git@<first-host-alias>:<owner>/<first-repo>.git
  displayName: Clone First Repo

- bash: git clone git@<second-host-alias>:<owner>/<second-repo>.git
  displayName: Clone Second Repo

مستندات GitHub ذات الصلة.

أمثلة

مثال على الإعداد باستخدام GitHub

يصف هذا القسم كيفية استخدام مستودع GitHub خاص مع YAML من داخل Azure Pipelines.

إذا كان لديك مستودع لا تريد كشفه للمجتمع مفتوح المصدر، فإن الممارسة الشائعة هي جعل المستودع خاصا. ومع ذلك، تحتاج أداة CI/CD مثل Azure DevOps إلى الوصول إلى المستودع إذا كنت تريد استخدام الأداة لإدارة المستودع. لمنح Azure DevOps حق الوصول، قد تحتاج إلى مفتاح SSH لمصادقة الوصول إلى GitHub.

فيما يلي خطوات استخدام مفتاح SSH لمصادقة الوصول إلى GitHub:

  1. إنشاء زوج مفاتيح لاستخدامه لمصادقة الوصول من GitHub إلى Azure DevOps:

    1. في GitBash، قم بتشغيل الأمر التالي:

      ssh-keygen -t rsa
      
    2. أدخل اسما لزوج مفاتيح SSH. في مثالنا، نستخدم myKey.

      لقطة شاشة لمطالبة GitBash بإدخال اسم لزوج مفاتيح SSH.

    3. (اختياري) يمكنك إدخال عبارة مرور لتشفير المفتاح الخاص بك. هذه الخطوة اختيارية. استخدام عبارة مرور أكثر أمانا من عدم استخدام واحدة.

      لقطة شاشة لمطالبة GitBash لإدخال عبارة مرور لزوج مفاتيح SSH.

      ssh-keygen ينشئ أزواج مفاتيح SSH، وتظهر رسالة النجاح التالية:

      لقطة شاشة لرسالة GitBash التي تظهر أنه تم إنشاء زوج مفاتيح SSH.

    4. في Windows مستكشف الملفات، تحقق من زوج المفاتيح الذي تم إنشاؤه حديثا:

      لقطة شاشة لملفات زوج المفاتيح في Windows مستكشف الملفات.

  2. أضف المفتاح العام إلى مستودع GitHub. (ينتهي المفتاح العام ب ".pub"). للقيام بذلك، انتقل إلى عنوان URL التالي في المستعرض الخاص بك: https://github.com/(organization-name)/(repository-name)/settings/keys.

    1. حدد Add deploy key.

    2. في مربع الحوار إضافة عنوان جديد ، أدخل عنوانا، ثم انسخ والصق مفتاح SSH:

      لقطة شاشة لمربع الحوار إضافة جديد.

    3. حدد إضافة مفتاح.

  3. تحميل المفتاح الخاص بك إلى Azure DevOps:

    1. في Azure DevOps، في القائمة اليسرى، حدد Pipelines>Library.

      لقطة شاشة لقائمة Azure Pipelines.

    2. حدد Secure files>+ Secure file:

      لقطة شاشة لقائمة الملفات الآمنة.

    3. حدد استعراض، ثم حدد المفتاح الخاص بك:

      لقطة شاشة لمربع الحوار تحميل ملف والزر استعراض.

  4. استرداد "إدخال المضيفين المعروفين". في GitBash، أدخل الأمر التالي:

    ssh-keyscan github.com
    

    "إدخال المضيفين المعروفين" هو القيمة المعروضة التي لا تبدأ # في نتائج GitBash:

    لقطة شاشة لنتائج البحث الرئيسية في GitBash.

  5. إنشاء مسار YAML.

    لإنشاء مسار YAML، في تعريف YAML، أضف المهمة التالية:

    - task: InstallSSHKey@0
     inputs:
       knownHostsEntry: #{Enter your Known Hosts Entry Here}
       sshPublicKey: #{Enter your Public key Here}
       sshKeySecureFile: #{Enter the name of your key in "Secure Files" Here}
    

تم الآن تثبيت مفاتيح SSH، ويمكنك متابعة البرنامج النصي للاتصال باستخدام SSH، وليس HTTPS الافتراضي.

المتطلبات

المتطلب الوصف
أنواع البنية الأساسية لبرنامج ربط العمليات التجارية YAML، الإصدار الكلاسيكي، الإصدار الكلاسيكي
يعمل على Agent, DeploymentGroup
المطالب بلا
القدرات لا تلبي هذه المهمة أي متطلبات للمهام اللاحقة في الوظيفة.
قيود الأوامر يتم تشغيل هذه المهمة باستخدام قيود الأمر التالية: مقيدة
متغيرات Settable هذه المهمة لديها إذن لتعيين المتغيرات التالية: SSH_AGENT_PID، SSH_AUTH_SOCK، INSTALL_SSH_KEY_CONFIG_LOCATION، INSTALL_SSH_KEY_KNOWN_HOSTS_LOCATION
إصدار الوكيل 2.182.1 أو أحدث
فئة المهمة الأداة المساعدة
المتطلب الوصف
أنواع البنية الأساسية لبرنامج ربط العمليات التجارية YAML، الإصدار الكلاسيكي، الإصدار الكلاسيكي
يعمل على Agent, DeploymentGroup
المطالب بلا
القدرات لا تلبي هذه المهمة أي متطلبات للمهام اللاحقة في الوظيفة.
قيود الأوامر أي
متغيرات Settable أي
إصدار الوكيل 2.117.0 أو أحدث
فئة المهمة الأداة المساعدة