آن آموزش از کدام چیدمان بستهٔ Easy-RSA استفاده میکرد؟
آموزشی که انتظار vars یا build-key دارد، Easy-RSA 2 را توصیف میکند. پیش از کپی کردن هر چیزی، نسل نصبشده و فضای کاری PKI را بررسی کنید.
یک آموزش به شما میگوید vars را در پوشهٔ Easy-RSA ویرایش کنید، و پوشه روی دستگاه شما چنین فایلی ندارد. این معمولاً ناسازگاری نسلها است، نه بستهٔ خراب. Easy-RSA 2 یک فایل vars در کنار کمککنندههای پوسته مانند build-key نگه میداشت؛ Easy-RSA 3 یک فرمان easyrsa ارائه میدهد و پیکربندی را از یک قالب بههمراه گزینههای خط فرمان میخواند. پیش از کپی کردن هر چیزی از راهنما، بفهمید کدامیک را دارید.
این بررسیها را به ترتیب انجام دهید، چون هر کدام بعدی را محدود میکند.
1. فهرست کنید چه چیزی نصب شده است
روی سامانهای از خانوادهٔ Debian، از مدیر بسته بپرسید کدام فایلها را واقعاً ثبت کرده است:
dpkg-query -L easy-rsaفهرست بستهٔ فعلی Debian شامل make-cadir، برنامهٔ easyrsa، یک قالب پیکربندی OpenSSL و vars.example است. این به شما میگوید این توزیع چه چیزی فرستاده است. نمیگوید توزیع دیگری یا یک بایگانی tar بالادستی همان نسل را چگونه چیده است، پس پیش از تفسیر مسیرها نسخه را بخوانید. اگر خروجی اصلاً make-cadir را نشان ندهد، به احتمال زیاد به نسل بستهبندی دیگری نگاه میکنید، نه به نصبی خراب.
easyrsa --version کوتاهترین راه برای دانستن این است که دربارهٔ کدام نسل میخوانید، و ارزش دارد آن را پیش از هر فرمان دیگری در یک راهنما اجرا کنید.
2. نسل 2 را از نسل 3 تشخیص دهید
نسل 2 کمککنندههای پوسته و یک فایل vars را عرضه میکرد که انتظار میرفت ویرایش کنید. نسل 3 یک فرمان easyrsa با زیرفرمانها عرضه میکند و پیکربندی را از قالب بههمراه گزینههای صریح میخواند.
این تفاوت بیشتر گزارشهای «فایل پیدا نشد» در این موضوع را توضیح میدهد. راهنمایی که برای 2 نوشته شده به شما میگوید source vars را اجرا کنید و build-key را اجرا کنید، و نصب 3 هیچکدام را ندارد. دنبال کردن فایل گمشده از روی نسخهٔ دستگاهی دیگر همان چیزی است که مردم را به اجرای دو نسل روی یک پوشهٔ PKI میرساند.
3. پوشهٔ برنامه را از فضای کاری PKI جدا کنید
پوشهٔ برنامهٔ نصبشده طبق طراحی فقطخواندنی است. PKI شما پوشهای جداگانه است که CA، گواهیهای صادرشده و کلیدهای خصوصی را نگه میدارد، و همان است که مجوزهایی را حمل میکند که باید درست تنظیم کنید.
اگر از قبل یک مرجع وجود دارد، گواهی عمومی آن را پیدا کنید و وضعیت آن را تأیید کنید پیش از آنکه چیزی را لمس کنید. جایگزینی را مقداردهی اولیه نکنید، و فهرست را بازنویسی نکنید فقط چون آموزشی مسیر دیگری استفاده کرده است. کپی کردن قالبهای عمومی بیضرر است، اما کپی کردن کلید خصوصی یک صادرکننده چنین نیست، و در پوسته این دو عملیات تقریباً یکسان به نظر میرسند.
4. پیش از دنبال کردن یک مسیر، نقلقول را بررسی کنید
متنی که از یک صفحهٔ قالببندیشده کپی میشود اغلب با علامتهای نقلقول تایپوگرافی میرسد. Bash فقط جداکنندههای ASCII مستند خود را نقلقول میداند، بنابراین مسیری که در نقلقولهای خمیده پیچیده شده باشد به نام فایل تحتاللفظی تبدیل میشود که وجود ندارد.
printf '%s\n' "$EASY_RSA"این مقدار یک متغیر را چاپ میکند نه کل محیط را، که همان چیزی است که وقتی پرسش این است که آیا مقدار نویسههای اضافی یا فاصله دارد میخواهید. فرض نکنید که EASY_RSA در نسل 3 هنوز پیکربندی را انتخاب میکند؛ در عوض از گزینهٔ مستند پوشهٔ PKI برای نسخهٔ خود استفاده کنید.
5. پیش از مقداردهی اولیهٔ دوبارهٔ هر چیزی توقف کنید
وقتی نسل برنامه، مسیرهای نصبشده و نقش فضای کاری با هم سازگار شدند، خطای باقیمانده احتمالاً مشکل مجوز یا وضعیت گمشده است، و شایستهٔ تشخیص خودش است نه راهحل موقت دیگری.
نصب یک بستهٔ کششده از انتشار دیگر، کپی بازگشتی پوشهها، یا ساختن رکوردهای خالی صادرکننده ناسازگاری اصلی را پنهان میکند و دومی را اضافه میکند. پیش از تغییر هر چیزی نسخه، مسیر و خطای دقیق را بنویسید. این سه همان چیزی هستند که گام بعدی را به یک تصمیم تبدیل میکنند نه یک حدس دیگر، و مانع تکرار جستوجو توسط نفر بعد میشوند.