איזו פריסת חבילת Easy-RSA השתמשה במדריך הזה?
מדריך שמצפה ל־vars או ל־build-key מתאר את Easy-RSA 2. בדקו את הדור המותקן ואת סביבת העבודה של PKI לפני שמעתיקים משהו.
מדריך מורה לכם לערוך את vars בתיקיית Easy-RSA, אך בתיקייה במחשב שלכם אין קובץ כזה. בדרך כלל מדובר באי־התאמה בין דורות ולא בחבילה שבורה. Easy-RSA 2 שמר קובץ vars לצד עוזרי shell כמו 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 סיפק עוזרי shell וקובץ 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. עצרו לפני שאתם מאתחלים משהו מחדש
לאחר שדור התוכנית, הנתיבים המותקנים ותפקיד סביבת העבודה תואמים, השגיאה שנותרה היא כנראה בעיית הרשאות או מצב חסר, והיא ראויה לאבחון משל עצמה ולא לעוד עקיפה.
התקנת חבילה שמורה ממהדורה אחרת, העתקה רקורסיבית של תיקיות או יצירת רשומות מנפיק ריקות מסתירה את אי־ההתאמה המקורית ומוסיפה שנייה. רשמו את הגרסה, את הנתיב ואת השגיאה המדויקת לפני שתשנו משהו. שלושת אלה הם מה שהופך את הצעד הבא להחלטה ולא לעוד ניחוש, והם מונעים מהאדם הבא לחזור על החיפוש.