وقتی میزبانیِ شخصی را آغاز کردم، خیلی زود فهمیدم بسیاری از سرویسهایی که استفاده میکنم، در عمل به یک سرور وابستهاند. البته چند استثنا هم هست و یکی از آنها که برای چیدمان من بهراستی بیجایگزین شده، مدیر گذرواژهام، کیپساکسسی، است. خزانهاش همچنان یک فایلِ معمولیِ رمزنگاریشده است و با سینکتینگ میتوانم آن را میان دستگاهها جابهجا کنم.
این روش هرچند کمی از آسودگیِ کار میکاهد، چون دیگر سرورِ مدیرِ گذرواژهای در کار نیست، اما نیاز به یک پروکسیِ معکوس، یک کانتینرِ مدیرِ گذرواژه که باید مدام بهروز بماند و یک رابطِ وب که باید همیشه در دسترس باشد را هم از میان برمیدارد.
نخستین همگامسازی تقریباً کسلکننده بود
خزانهام نیازی نداشت ابزار همگامسازی بداند چه چیزی را جابهجا میکند





بعد از تغییر دادن یک گذرواژه روی لپتاپم، صفحه را قفل کردم. فقط یک دقیقه بعد، وقتی گوشیام را برداشتم، همان ورودیِ گذرواژه بهروزرسانی شده بود. این اتفاق بیهیچ اعلان یا گفتوگوی تأییدی، روان و بیصدا رخ داد. در پسزمینه، سینکتینگ آن فایل را وقتی دستگاهها به شبکه وصل بودند جابهجا میکرد. بنابراین وقتی کیپساکسسی فایلِ رمزنگاریشده را روی گوشیام باز کرد، به نسخهٔ تازه دسترسی داشت.
آن خزانهٔ .kdbx خودِ ورودیها، تاریخچهٔ آنها، فیلدهای سفارشی و دیگر فرادادههای پایگاه داده را در دلِ خودِ فایل نگه میدارد. وقتی سینکتینگ این فایل را جابهجا میکند، حتی نمیداند که دارد گذرواژهها را جابهجا میکند. در واقع، برای موتور همگامسازی، این کار هیچ فرقی با جابهجا کردن یک عکس ندارد. با اینکه برای این فرایند سروری در کار نداشتم، پایههای یک مدیر گذرواژه درست همانطور کار میکرد که انتظار داشتم. پرکردن خودکارِ مرورگر یک نمونه است؛ لازم نبود هیچ گذرواژهای را دستی کپی و جایگذاری کنم.
تا اینجا، این چیدمان ابتدایی به نظر میرسید. تا همین لحظه هم فقط هر بار یک دستگاه را تغییر داده بودم.
سپس، دو دستگاه را همزمان به کار گرفتم
سینکتینگ تعارض را دید و کیپساکسسی آن را فهمید





کاری کردم که احتمالاً در چیدمانم دردسر درست میکرد: یک ورودیِ یکسان را پیش از آنکه دو دستگاه فرصتی برای ارتباط با هم پیدا کنند، هم روی لپتاپ و هم روی گوشی ویرایش کردم. وقتی این دو دستگاه به هم وصل شدند، سامانهٔ همگامسازی بهجای انتخاب یکی از نسخهها، هر دو را نگه داشت. یکی نسخهٔ اصلی ماند و دیگری کنار آن ظاهر شد، با نامِ "sync-conflict" و یک مُهر زمانی.
این موضوع بسیار روشنگر بود. سینکتینگ میفهمید فایلها با هم نمیخوانند، هرچند نمیتوانست محتوای دقیقشان را ببیند. این ابزار هیچ مفهومی از ورودیِ گذرواژه ندارد، پس نمیدانست کدام تغییر باید نگه داشته شود و کدامیک بازنویسی شود.
سینکتینگ اصلاً نمیدانست اختلاف بر سر ورودیهای گذرواژه است؛ فقط میدانست آن دو پایگاه داده با هم جور درنمیآیند. با نگهداشتن نسخهٔ sync-conflict، تعارض را در سطح فایل حل کرد. اما کیپساکسسی محتوا را میفهمید. پس از آنکه دو پایگاه داده را با هم ادغام کردم، شناسههای یکتا و زمانهای ویرایش را مقایسه کرد، نسخهٔ جدیدتر را نگه داشت و نسخهٔ پیشین را در تاریخچهٔ همان ورودی ثبت کرد.
وقتی این تغییرها را انجام دادم، حلوفصل ماجرا بیش از یک دقیقه طول نکشید. پس از باز کردن هر دو فایل و اجازه دادن به خزانه برای آشتی دادن اختلافها، نسخهٔ پاکیزه پس از ذخیرهکردن نتایج دوباره همگام شد. جز همان موارد نادری که دو دستگاه از هم جدا شدهاند، بقیهٔ وقت سازوکار همگامسازی اصلاً به چشم نمیآید. مدتی طول کشید تا واقعاً بپذیرم یک ابزار عمومیِ همگامسازی فایل جای یک خدمتِ اختصاصیِ گذرواژه را گرفته است.
حذف خزانه به من آموخت پشتیبانگیری چه چیزی نیست
یک نسخهٔ دوم فقط وقتی تکیهگاهِ امن است که از نسخهٔ نخست فرمان نگیرد

هنوز آزمایش این سامانهٔ تازه تمام نشده بود، پس پایگاه داده را از یکی از دستگاهها حذف کردم. و درست مثل یک ابزار همگامسازی رفتار کرد و آن حذف را هم پخش کرد. فقط لحظهای کوتاه طول کشید تا دستگاه دوم هم نسخهٔ خودش را از دست بدهد. اینجا یک درس مهم روشن شد: نسخههای همگامشده پشتیبان نیستند. آنها آینهٔ هماند، پس کارهایی مثل حذف شدن به همهٔ دستگاهها سرایت میکند.
اگر واقعاً لازم دارید یک وضعیت قدیمیتر را نگه دارید، چیزی که میخواهید پشتیبان است. سینکتینگ تنظیمی برای نگهداشتن تاریخچهٔ نسخهها دارد، اما بهصورت پیشفرض خاموش است. حتی اگر آن را روشن کنید، من آن را جایگزینِ یک پشتیبانِ جداگانه نمیدانم. بنابراین ممکن است خیال کنید از پیش محافظت دارید، در حالی که ندارید.
برای آزمودن بازیابی، یک نسخهٔ قدیمی از خزانهٔ گذرواژهام را بیرون از پوشهٔ همگامشده برگرداندم و باز کردنش بیدردسر بود. با این حال، سینکتینگ آن را یک تغییر بهحساب آورد و وقتی دوباره آن را در پوشهٔ مشترک گذاشتم، شروع کرد به پخشکردن دادهها. برگرداندن داده در این چیدمان نیاز به دقت دارد. قابلیت ادغامِ کیپساکسسی هم به من اجازه میدهد یک ورودی را از یک پایگاه دادهٔ قدیمیتر به پایگاه فعلی بیاورم، بیآنکه کل خزانه را جایگزین کنم.
امکان همگامسازی در این چیدمان رایگان است، اما بازیابی را باید خودم مدیریت میکردم.
وقتی سرورِ مدیر گذرواژه را کنار میگذارید، واقعاً چه چیزهایی تغییر میکند؟
شاید بپرسید وقتی سراغ سامانههای نیرومندِ مدیریت گذرواژه مانند ولتواردن نمیروید، چه چیزی را از دست میدهید. اصل ماجرا همان است: پیش از آنکه هیچ دادهای جابهجا شود، رمزنگاری همچنان روی خودِ دستگاه انجام میشود. اما چند تفاوت عملی هم هست:
| کیپساکسسی + سینکتینگ | ولتواردن | |
|---|---|---|
| محل خزانه | پروندهٔ رمزنگاریشدهٔ محلی روی هر دستگاه | دادههای رمزنگاریشدهٔ خزانه روی سرور |
| همگامسازی | همگامسازی عمومی پروندهها | همگامسازی ویژهٔ مدیر گذرواژه |
| مدیریت تعارض | ادغام در کیپساکسسی + تعارض پروندهها در سینکتینگ | همگامسازی سرور/کارخواه |
| سرور لازم است | خیر | بله |
| مسئولیت پشتیبانگیری | خودتان آن را مدیریت میکنید | خودتان سرور و دادههایش را مدیریت میکنید |
| دادهها را با خود بردن | فایل .kdbx را کپی کنید | دادههای سرور را صادر یا بازیابی کنید |
یکی از بزرگترین تفاوتها این است که در چیدمان فعلیِ من، کارِ همگامسازی را یک ابزار عمومیِ همگامسازی پروندهها ــ و در واقع خودِ من ــ بر عهده گرفتهایم، اما ولتواردن این کار را به یک خدمتِ ویژه واگذار میکند. اگر از اینکه چند روزِ معدود، هنگام بروز تعارض، عملاً خودتان بخش فناوری اطلاعاتِ خودتان باشید دلزده نمیشوید، از کیپساکسسی + سینکتینگ لذت خواهید برد.
هدف این نیست که شما را به یکی از این دو سمت هل بدهم. میزبانیِ شخصیِ یک سامانهٔ گذرواژه، بیآنکه لازم باشد به پیچیدگیهای دیگری که با اجرای یک سرور همراهاند فکر کنید، حس و حال دیگری دارد.
منبع: این مطلب ترجمه و بومیسازی مقالهای از MakeUseOf به قلم Afam Onyimadu است. مشاهده مقاله اصلی