پیشنیاز
برای استفاده، متغیرهای شروع سریع و کلید عمومی SSH خود را آماده کنید؛ کلید خصوصی را هرگز به API، پشتیبانی یا مخزن کد نفرستید. کلیدهای این مسیر متعلق به کاربر و پروژهٔ انتخابشده هستند.
ثبت کلید عمومی
مسیر فایل را با کلید عمومی خود جایگزین کنید؛ پسوند .pub به فایل عمومی اشاره دارد. درخواست با ابزار jq محتوای فایل را به JSON تبدیل میکند.
export ABRBIT_PUBLIC_KEY_FILE="$HOME/.ssh/id_ed25519.pub"
jq -n --arg name 'my-api-key' --rawfile key "$ABRBIT_PUBLIC_KEY_FILE" \
'{name:$name,public_key:($key | rtrimstr("\n"))}' | \
curl --fail-with-body --silent --show-error \
"$ABRBIT_API/api/v1/project/$ABRBIT_PROJECT/security/sshkeys/" \
--header "Authorization: Bearer $ABRBIT_TOKEN" \
--header 'Content-Type: application/json' --data-binary @-
پاسخ موفق 201 بدنه ندارد؛ برای یافتن شناسهٔ عددی کلید، فهرست را دریافت کنید.
دریافت فهرست
curl --fail-with-body --silent --show-error \
"$ABRBIT_API/api/v1/project/$ABRBIT_PROJECT/security/sshkeys/" \
--header "Authorization: Bearer $ABRBIT_TOKEN" | jq '.objects'
پاسخ 200 شامل objects و meta است؛ مقدار id کلید انتخابشده را در متغیر ABRBIT_SSH_KEY_ID بگذارید و به راهنمای ساخت سرور بروید.
حذف کلید
توجه: حذف کلید، امکان انتخاب آن برای سرورهای جدید و برخی عملیات بعدی سرور وابسته را از بین میبرد؛ پیش از حذف، راه دیگری برای ورود و نگهداری کلید بررسی کنید.
export ABRBIT_SSH_KEY_ID='SSH_KEY_ID'
curl --fail-with-body --silent --show-error --request DELETE \
"$ABRBIT_API/api/v1/project/$ABRBIT_PROJECT/security/sshkeys/$ABRBIT_SSH_KEY_ID" \
--header "Authorization: Bearer $ABRBIT_TOKEN"
پاسخ 204 بدنه ندارد؛ این پاسخ بهتنهایی وجود قبلی شناسه را ثابت نمیکند. اسلش انتهای مسیر حذف با مسیر فهرست متفاوت است.