git-remote-gcrypt - آنلاین در ابر

این دستور git-remote-gcrypt است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.

برنامه:

نام


git-remote-gcrypt - کنترل از راه دور git رمزگذاری شده توسط گارد حریم خصوصی گنو

شرح


برنامه های کمک راه دور توسط git برای مدیریت انتقال شبکه فراخوانی می شوند. این یاور
دسته ها gcrypt:: URL هایی که با استفاده از ما به یک مخزن از راه دور رمزگذاری شده با GPG دسترسی خواهند داشت
فرمت سفارشی

مکان های پشتیبانی شده هستند محلی, rsync:// و sftp: //، جایی که مخزن به صورت a ذخیره می شود
مجموعه ای از فایل ها، یا در عوض هر کدام جایی که gcrypt همان نمایش را در a ذخیره می کند
مخزن git، بر روی انتقال دلخواه git پل شده است.

هدف این است که با استفاده از ذخیره سازی گیت و همکاری محرمانه و تأیید شده
میزبان ها یا سرویس های فایل نامعتبر معمولی. لطفاً به ما کمک کنید ارزیابی کنیم که چقدر این موضوع را برآورده می کنیم
هدف طراحی!

توجه:
این یک نسخه توسعه است -- قالب مخزن ممکن است تغییر کند.

شروع سریع
· نصب git-remote-gcrypt با اجرای موارد ارائه شده install.sh اسکریپت

یک کنترل از راه دور رمزگذاری شده با فشار دادن به آن ایجاد کنید:

git remote اضافه کردن cryptremote gcrypt::rsync://example.com:repo
git push cryptremote master
> gcrypt: راه اندازی مخزن جدید
> gcrypt: شناسه راه دور :id:7VigUnLVYVtZx8oir34R است
> [ خطوط بیشتر .. ]
> برای رمزگذاری::[...]
> * [شاخه جدید] استاد -> استاد

پیکربندی


در زیر گیت(1) متغیرها پشتیبانی می شوند:

از راه دور. gcrypt-participants

gcrypt.شرکت کنندگان
فهرستی از شناسه‌های کلید GPG با فاصله. ریموت روی اینها رمزگذاری شده است
شرکت کنندگان و فقط امضای آنها پذیرفته می شود. gpg -k همه عمومی را فهرست می کند
کلیدهایی که می دانید

اگر این گزینه تنظیم نشده باشد، کلید پیش‌فرض شما را رمزگذاری می‌کنیم و هر مورد معتبری را می‌پذیریم
امضا این رفتار همچنین می تواند به صراحت با تنظیم شرکت کنندگان درخواست شود
به ساده.

La gcrypt-شرکت کنندگان تنظیم روی ریموت بر مخزن اولویت دارد
متغیر gcrypt.شرکت کنندگان.

از راه دور. .gcrypt-publish-participants

gcrypt.publish-participants
به طور پیش‌فرض، شناسه‌های کلید gpg شرکت‌کنندگان با استفاده از رمزگذاری پنهان می‌شوند
gpg -R. تنظیم این گزینه روی درست این اقدام امنیتی را غیرفعال می کند.

مشکل استفاده از gpg -R این است که برای رمزگشایی، gpg هر راز موجود را امتحان می کند
به نوبه خود کلید بزنید تا زمانی که یک کلید قابل استفاده پیدا کند. این می تواند منجر به عبارت عبور غیر ضروری شود
درخواست ها

از راه دور. gcrypt-signingkey

user.signingkey
(دومی از پیکربندی git معمولی) کلیدی که برای امضا استفاده می شود. تو باید
تنظیم user.signingkey اگر کلید امضای پیش‌فرض شما بخشی از شرکت‌کننده نیست
فهرست می توانید از نسخه هر راه دور برای امضای ریموت های مختلف با استفاده از موارد مختلف استفاده کنید
کلیدها

محیط زیست متغیرها


GCRYPT_FULL_REPACK
این متغیر محیطی هنگام هل دادن، بسته بندی کامل را مجبور می کند.

مثال ها


نحوه تنظیم یک کنترل از راه دور برای دو شرکت کننده:

git remote اضافه کردن cryptremote gcrypt::rsync://example.com:repo
git config remote.cryptremote.gcrypt-participants "KEY1 KEY2"
git push cryptremote master

نحوه استفاده از Git Backend:

# توجه داشته باشید که مخزن git هدف باید از قبل وجود داشته باشد
# شاخه «بعدی» رونویسی خواهد شد!
git remote اضافه کردن gitcrypt gcrypt::git@example.com:repo#next
git push gitcrypt master

قطعه URL (#بعد اینجا) نشان می دهد که کدام شاخه پشتیبان استفاده شده است.

NOTES


همکاری
رمزگذاری مانیفست برای هر فشار به روز می شود تا با شرکت کننده مطابقت داشته باشد
پیکربندی هر کاربر فشار دهنده باید کلیدهای عمومی همه همکاران و
پیکربندی صحیح شرکت کننده

وابستگی ها
rsync و حلقه برای ریموت ها rsync: و sftp: به ترتیب. اصلی ترین فایل اجرایی
به یک پوسته سازگار با POSIX نیاز دارد که پشتیبانی کند محلی.

گنو حریم خصوصی گارد
هر دو GPG 1.4 و 2 پشتیبانی می شوند. شما به یک کلید GPG شخصی نیاز دارید. پیکربندی GPG
برای انتخاب الگوریتم برای رمزگذاری کلید عمومی، رمزگذاری متقارن و
امضا کردن دیدن مرد gpg برای اطلاعات بیشتر.

دور ID
شناسه از راه دور مخفی نیست. این فقط تضمین می کند که دو مخزن امضا شده توسط
همان کاربر را می توان متمایز کرد. اگر Remote ID تغییر کند، هشداری خواهید دید،
که تنها در صورت ایجاد مجدد کنترل از راه دور باید اتفاق بیفتد.

مخزن قالب
EncSign(X): روی دارنده کلید GPG امضا و رمزگذاری کنید
رمزگذاری (K,X): رمزگذاری با استفاده از الگوریتم کلید متقارن
هش (X): SHA-2/256

B: لیست شعبه
L: لیست هش (Hi) و کلید (Ki) برای هر بسته فایل
R: شناسه از راه دور

برای نوشتن مخزن:

هر بسته را ذخیره کنید P as رمزگذاری(Ki, P)P' در نام فایل Hi
جایی که Ki یک رشته تصادفی جدید است و هش (P')Hi
فروشگاه EncSign(B || L || R) در مانیفست

برای خواندن مخزن:

مانیفست را دریافت کنید، رمزگشایی کنید و با استفاده از کلیدهای GPG تأیید کنید (ب، L, R)
هشدار دهید اگر R با شناسه راه دور که قبلاً دیده شده است مطابقت ندارد
برای هر سلام، Ki in L:
دریافت پرونده Hi از سرور → P'
تایید هش (P') کبریت Hi
رمزگشایی کنید P' با استفاده از KiP سپس باز شود P با git

آشکار پرونده
نمونه فایل مانیفست (با بیضی برای اختصار):

$ gpg -d 91bd0c092128cf2e60e1a608c31e92caf1f9c1595f83f2890ef17c0e4881aa0a
542051c7cd152644e4995bda63cc3ddffd635958 refs/heads/next
3c9e76484c7596eff70b21cbe58408b2774bedad refs/heads/master
pack :SHA256:f2ad50316...cd4ba67092dc4 z8YoAnFpMlW...3PkI2mND49P1qm
pack :SHA256:a6e17bb4c...426492f379584 82+k2cbiUn7...dgXfyX6wXGpvVa
keep :SHA256:f2ad50316...cd4ba67092dc4 1
مخزن :id:OYiSleGirtLubEVqJpFF

هر مورد تا خط جدید ادامه می یابد و با یکی از موارد زیر مطابقت دارد:


شناسه شی Git و مرجع آن

بسته : :
هش فایل بسته (Hi) و کلید متقارن مربوطه (Ki).

نگه داشتن : :
هش Packfile و تولید مجدد آن

مخزن
شناسه راه دور

گسترش ...
فیلد پسوند، حفظ شده اما استفاده نشده است.

در حال شناسایی GCRYPT باقی مانده


برای تشخیص اینکه آیا یک آدرس اینترنتی git یک مخزن gcrypt است، از: git-remote-gcrypt --check url وضعیت خروج
0 اگر مخزن وجود دارد و قابل رمزگشایی است، 1 اگر مخزن از gcrypt استفاده می کند اما نمی تواند باشد.
رمزگشایی شده، و 100 اگر مخزن با gcrypt رمزگذاری نشده باشد (یا امکان دسترسی به آن وجود نداشته باشد).

توجه داشته باشید که این باید محتویات مخزن را در مخزن git محلی واکشی کند
هنگام استفاده از مخزن gcrypt انجام می شود.

از git-remote-gcrypt آنلاین با استفاده از خدمات onworks.net استفاده کنید



جدیدترین برنامه های آنلاین لینوکس و ویندوز