Skip to content
واجهة سطر أوامر لأسرار المطورين

واجهة سطر أوامر لأسرار المطورين

مفاتيح SSH وملفات .env ورموز API تتناثر عبر الحواسيب ووكلاء CI. CLI في OpenKey (openkey) هو واجهة الطرفية لنفس الخزنة ذات المعرفة الصفرية: ولّد كلمات مرور دون اتصال، واستورد ما يُكتشف محلياً إلى تطبيق سطح المكتب المفتوح القفل، وأدر أسراراً ذات أنواع، واختيارياً اسحب النص المشفّر من خادم مستضاف ذاتياً.

هذه المقالة جولة موجّهة. المرجع الكامل على مستوى الأعلام موجود في دليل CLI.

ثلاثة أوضاع تشغيل

نظرة عامة على بنية OpenKey CLI
الوضعالمتطلبالدور
دون اتصاللا شيءopenkey gen — كلمات مرور مفيدة تشفيرياً بلا شبكة وبلا خزنة مفتوحة
الجسر الأصليتطبيق سطح المكتب مفتوح القفل على هذا الجهازالمسار الافتراضي للأسرار واستيراد الاكتشاف والبحث عبر الأسرار وتسجيلات الدخول
جلسة CLIlogin ثم eval $(openkey unlock)ذاكرة نص مشفّر محلية وsync عندما لا يتوفر تطبيق سطح المكتب

يفضّل CLI الجسر عند توفّره. وإلا يستخدم OPENKEY_SESSION. الجسر محلي فقط ويرفض العمل والخزنة مقفلة — نفس حدود الثقة لجلسة سطح المكتب.

كيف تختار أوامر الخزنة وضع الجسر أو الجلسة

التوليد دون اتصال

bash
openkey gen -l 24 --no-symbols
openkey gen -l 32 -a -c          # تجنّب Il1O0o، وانسخ إلى الحافظة
openkey --json gen -l 20

اضبط الطول وفئات الأحرف (--no-upper، --no-lower، --no-digits، --no-symbols)، أو انسخ مباشرة إلى الحافظة بـ -c. لا يلزم فتح قفل التطبيق ولا تسجيل على الخادم.

الاكتشاف إلى مجموعة جهاز

تدفّق الاكتشاف من المسح إلى الحفظ في الخزنة
bash
openkey discover --dry-run
openkey discover -y
openkey discover -d workstation -p ~/src/acme --depth 3 --no-aws

يمكن للاكتشاف أن يمسح:

  • مفاتيح خاصة تحت ~/.ssh (مع ملفات .pub الشقيقة عند وجودها)
  • متغيرات بيئة معروفة أو شبيهة بالأسرار
  • اعتمادات AWS المشتركة
  • أشجار .env / .env.* من جذر مشروع واحد أو أكثر

تُجمَّع النتائج تحت تسمية جهاز (اسم المضيف افتراضياً) داخل قسم الأسرار في الخزنة. القيم المستوردة مسبقاً تُتخطى ببصمة المحتوى. استخدم --dry-run للمعاينة و-y للاستيراد دون مطالبة. الحفظ ما زال يحتاج تطبيق سطح المكتب مفتوح القفل (أو جلسة CLI).

عمليات الأسرار اليومية

الأسرار سجلات ذات أنواع: apiToken (افتراضي)، sshKey، envSnippet، أو other.

bash
openkey secret add --name "GitHub PAT" --kind apiToken --secret ghp_...
openkey secret add -n "deploy" -k sshKey -f ~/.ssh/id_ed25519 \
  --public-key-file ~/.ssh/id_ed25519.pub
openkey secret list
openkey secret get "GitHub"
openkey secret copy ghp
openkey secret rm "old token" -y

السرد والبحث يقنّعان القيم. استخدم get / copy فقط عند الحاجة للنص الصريح. تطابق الاستعلامات الاسم أو المضيف أو بادئة UUID؛ التطابق الغامض يعرض المرشحين بدل التخمين.

للبحث في الأسرار وتسجيلات الدخول معاً:

bash
openkey search github
openkey get "GitHub"
openkey copy api.example.com

مزامنة مستضافة ذاتياً (اختيارية)

تدفّق تسجيل الدخول وسحب النص المشفّر وتعيين OPENKEY_SESSION
bash
openkey config set-server https://openkey.example.com
openkey login --email [email protected]
eval $(openkey unlock)
openkey sync
eval $(openkey lock)

يشتق تسجيل الدخول auth_hash بـ Argon2id، ولا يرسل كلمة المرور الرئيسية كعلم، ويخزّن في ذاكرة CLI مفاتيح ملفوفة ونصاً مشفّراً فقط، ويطبع تصدير OPENKEY_SESSION من unlock (المدة الافتراضية 15 دقيقة؛ غيّرها بـ openkey config set-lock). للـ CI يمكن تعيين OPENKEY_PASSWORD؛ فضّل المطالبة التفاعلية على أجهزتك الشخصية.

افحص الحالة في أي وقت:

bash
openkey status
openkey config show

لماذا تنتمي CLI لمدير كلمات مرور

المطورون يعيشون في الطرفيات. CLI تكتب في نفس منطقة الأسرار المشفّرة التي يستخدمها التطبيق — ونفس واجهة المزامنة للنص المشفّر فقط — فتُبقي سير العمل ونموذج التهديد متوافقين. لا تحتاج مخزناً ثانياً للأسرار من أجل السكربتات.

التثبيت

bash
cd openkey_cli
npm install && npm run build
npm link   # اختياري

يتطلب Node.js 20+. مرجع الأوامر الكامل ومتغيرات البيئة ومسارات الإعداد وملاحظات الأمان: دليل CLI.