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
وconfigHostname
configHostAlias
configUser
.configPort
InstallSSHKey
تسمح لك هذه المعلمات بإضافة مضيف إلى ملف تكوين 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 خاص مع YAML من داخل Azure Pipelines.
إذا كان لديك مستودع لا تريد كشفه للمجتمع مفتوح المصدر، فإن الممارسة الشائعة هي جعل المستودع خاصا. ومع ذلك، تحتاج أداة CI/CD مثل Azure DevOps إلى الوصول إلى المستودع إذا كنت تريد استخدام الأداة لإدارة المستودع. لمنح Azure DevOps حق الوصول، قد تحتاج إلى مفتاح SSH لمصادقة الوصول إلى GitHub.
فيما يلي خطوات استخدام مفتاح SSH لمصادقة الوصول إلى GitHub:
إنشاء زوج مفاتيح لاستخدامه لمصادقة الوصول من GitHub إلى Azure DevOps:
في GitBash، قم بتشغيل الأمر التالي:
ssh-keygen -t rsa
أدخل اسما لزوج مفاتيح SSH. في مثالنا، نستخدم myKey.
(اختياري) يمكنك إدخال عبارة مرور لتشفير المفتاح الخاص بك. هذه الخطوة اختيارية. استخدام عبارة مرور أكثر أمانا من عدم استخدام واحدة.
ssh-keygen
ينشئ أزواج مفاتيح SSH، وتظهر رسالة النجاح التالية:في Windows مستكشف الملفات، تحقق من زوج المفاتيح الذي تم إنشاؤه حديثا:
أضف المفتاح العام إلى مستودع GitHub. (ينتهي المفتاح العام ب ".pub"). للقيام بذلك، انتقل إلى عنوان URL التالي في المستعرض الخاص بك:
https://github.com/(organization-name)/(repository-name)/settings/keys
.حدد Add deploy key.
في مربع الحوار إضافة عنوان جديد ، أدخل عنوانا، ثم انسخ والصق مفتاح SSH:
حدد إضافة مفتاح.
تحميل المفتاح الخاص بك إلى Azure DevOps:
في Azure DevOps، في القائمة اليسرى، حدد Pipelines>Library.
حدد Secure files>+ Secure file:
حدد استعراض، ثم حدد المفتاح الخاص بك:
استرداد "إدخال المضيفين المعروفين". في GitBash، أدخل الأمر التالي:
ssh-keyscan github.com
"إدخال المضيفين المعروفين" هو القيمة المعروضة التي لا تبدأ # في نتائج GitBash:
إنشاء مسار 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 أو أحدث |
فئة المهمة | الأداة المساعدة |