أمران ينشئان زوج مفاتيح WireGuard، وكلاهما يأتي مع الأدوات القياسية، لذا لا تحتاج هذه المهمة إلى موقع يعرض إنشاء مفتاح نيابةً عنك. ما يفسد الأمر ليس أبدًا حساب المنحنى؛ بل بتات الأذونات، والمكان الذي يستقر فيه الملف، وما يُرسل إلى الطرف الآخر بعد ذلك. يبدأ التسلسل أدناه في مجلد فارغ وينتهي عند نظير يحمل حركة المرور. اقرأه مرة واحدة قبل تشغيله، لأن السطر الأول لا يهم إلا إذا نُفِّذ التالي في الصدفة نفسها.

إنشاء الزوج في صدفة واحدة

يقيّد سير العمل الموثّق إنشاء الملفات قبل وجود القيمة الخاصة، ثم يشتق القيمة العامة منها. الأسطر الثلاثة تنتمي معًا إلى جلسة صدفة واحدة:

umask 077  # applies to files created next, so keep the next line in this shell
wg genkey | tee privatekey | wg pubkey > publickey
wg pubkey < privatekey  # re-derive and compare with publickey

wg genkey يكتب مفتاحًا خاصًا Curve25519 من 32 بايت بترميز base64؛ wg pubkey يقرأه ويشتق المفتاح العام المطابق، وtee يحفظ القيمة الخاصة أثناء تمريرها عبر الأنبوب. هذا الترتيب هو سبب مجيء سطر الأذونات أولًا، وسبب فقدان خط الأنابيب له بهدوء عند لصقه في طرفية ثانية. أسماء الملفات توضيحية، والمهم أن يستقر الملفان في مكان يتحكم فيه الجهاز المالك. إذا كان ملف خاص موجودًا بأذونات افتراضية، فإن chmod 600 privatekey يصلح الملف الحالي ولا يفعل شيئًا بشأن النسخ التي أُخذت سابقًا.

إبقاء النصف الخاص على جهاز واحد

القيمة الخاصة تنتمي إلى الجهاز الذي سيملك الهوية، في مجلد يحميه ذلك الجهاز وتتعامل معه نسخه الاحتياطية باعتباره بيانات اعتماد. لا تنتمي إلى مجلد مشترك، ولا إلى رسالة إلى نفسك، ولا إلى مقتطف مرفق بتذكرة دعم، والنسخة المضمّنة تجعل ملف التهيئة حساسًا تمامًا كالمفتاح. المفتاح الذي عاش في ثلاثة أماكن لا يمكن التفكير فيه لاحقًا، وهذا هو السبب العملي لإبقائه في مكان واحد.

تدمير ملف متقاعد عن قصد جزء من العادة نفسها. تركه في مجلد التنزيلات حتى يلاحظه أحد ليس كذلك.

ما يحتاجه مشغّل النظير منك

يحتاج الطرف الآخر إلى القيمة العامة وترتيب العناوين الذي اختاره مشغّله، لا شيء غير ذلك. أرسل تلك السلسلة العامة عبر القناة التي يتوقعها المشغّل، ثم أكّد أي إدخال نظير أُرفقت به قبل أن يختبرها أحد، لأن مفتاحًا صحيحًا في مقطع خاطئ يفشل بطريقة تبدو كمشكلة في المفتاح. أرسلها سطرًا واحدًا غير مطوي، لأن المفتاح المقسوم على سطرين يُلصق في ملف تهيئة دون اعتراض ثم لا يطابق أبدًا.

إنشاء مفتاح لا يخوّل شيئًا بحد ذاته. يجب تهيئة النظير لقبوله، وخطوة التهيئة تخص من يدير ذلك الطرف.

اختبار الزوج بتبادل حقيقي

زوج المفاتيح يعرّف طرفًا واحدًا من نفق؛ إنه لا ينشئ مسارًا ولا إدخال محلل ولا قاعدة إعادة توجيه ولا سماحًا في جدار الحماية. بعد تجهيز النظير، اختبر التبادل لا الملف: مصافحة تظهر في wg show، وعنوان يستجيب داخل النفق، وطلب تطبيق واحد يعتمد على المسار. تلك الثلاثية تفصل المفتاح الخاطئ عن المفتاح السليم عن المسار المفقود.

احتفظ بهوية واحدة لكل جهاز عندما يسمح النشر بذلك، حتى يمكن سحب وحدة مفقودة بمفردها بدلًا من إجبار الجميع على إعادة توليد المفاتيح. هذا القرار أيضًا هو ما يجعل إجراء الاستبدال أدناه آمنًا للتشغيل.

استبدال مفتاح دون فجوة

أنشئ البديل على الجهاز، وأضف المفتاح العام الجديد كنظير إضافي، وأكّد أنه يحمل حركة المرور، وعندها فقط أزل القديم. التنفيذ بهذا الترتيب يعني أن النفق لا يمر أبدًا بلحظة بلا هوية صالحة، والتراجع ليس سوى حذف الإدخال الذي أضفته للتو.

احتفظ بالملف الخاص المستبدل حتى يُؤكَّد النظير الجديد، ثم دمّره عن قصد. البداية السريعة لـ WireGuard هي المرجع للأوامر نفسها، وهي قصيرة بما يكفي لقراءتها كاملة قبل أن تبدأ.

مقالات ذات صلة