🐧 چگونه می توان Git را که اعتبار کاربر را برای احراز هویت HTTP (S) درخواست می کند ، برطرف کنیم – مجموعه امنیت اطلاعات

برای دسترسی یا کار با مخزن Git از راه دور ، می توانید از پروتکل های SSH یا HTTP (S) استفاده کنید ؛

در حالت اول ، وقتی نوبت به مخازن خصوصی می رسد ، می توانید کلیدهای SSH را بدون اصطلاح عبارت پیکربندی کنید. ، که به شما امکان می دهد بدون وارد کردن نام کاربری و رمز عبور ، با خیال راحت داده ها را انتقال دهید.

با این وجود ، هنگام استفاده از HTTP (S) ، هر اتصال باعث می شود که نام کاربری و رمز عبور خود را وارد کنید (وقتی Git برای یک زمینه خاص URL نیاز به تأیید اعتبار دارد) – کاربران Github از این امر آگاه هستند.

در در این مقاله ، ما به شما نشان خواهیم داد كه چگونه این مورد را در Git برطرف كنید ، هنگامی كه سیستم همیشه از شما اعتبار كاربری را برای دسترسی به HTTP (S) سؤال می كند.

ما در مورد روش های مختلفی صحبت خواهیم كرد تا مانع از درخواست مجدد Git در هنگام تعامل با یك نام كاربر و رمز عبور شوید. مخزن از طریق HTTP (S).

نحوه نصب Git در لینوکس

اگر بسته Git را روی سیستم خود نصب نکردید ، دستور نصب مناسب برای توزیع لینوکس خود را برای نصب آن اجرا کنید (در صورت لزوم از دستور سودو استفاده کنید). [19659008] $ sudo apt install git [на Debian/Ubuntu]
# yum install git [на CentOS/RHEL/Fedora]
$ sudo zipper git install [на OpenSuse]
$ sudo pacman -S git [на Arch Linux]

وارد کردن نام کاربری و رمزعبور Git در URL از راه دور

همانطور که قبلاً اشاره کردیم ، هنگام اتصال مخزن Git از راه دور از طریق HTTP (S) ، هر اتصال به یک نام کاربری و رمزعبور نیاز دارد ، همانطور که در زیر نشان داده شده است: [19659011] برای جلوگیری از درخواست Git برای نام کاربری و رمز عبور خود ، می توانید اعتبار ورود به سیستم را با استفاده از URL مانند تصویر زیر وارد کنید:

 $ sudo git clone https: // نام کاربری: [email protected]/username/repo_name.git
یا
$ sudo git clone https: // نام کاربری: [email protected]/username/repo_name.git local_folder 

نقطه ضعف اصلی این روش این است که نام کاربری و رمزعبور شما در پرونده تاریخچه پوسته در دستور ذخیره می شود.

و همچنین در پرونده .git / config در پوشه محلی ، که خطرات امنیتی را ایجاد می کند.

توجه: برای کاربران Github که امکان تأیید هویت دو عاملی را دارند یا با استفاده از ورود به سیستم SAML تنها به یک سازمان دسترسی پیدا می کنند ، شما باید به جای وارد کردن رمز ورود برای HTTPS Git ، یک نشانه دسترسی شخصی ایجاد و استفاده کنید. [همانطورکهدرمثالهای در این راهنما نشان داده شده است. [19659016] برای ایجاد یک نشانه دسترسی شخصی ، در Github به تنظیمات => تنظیمات برنامه نویس => شخصی

نام کاربری و رمز عبور ذخیره سازی از راه دور Git را در دیسک ذخیره کنید

] راه دوم استفاده از یاور گواهی نامه Git برای نگه داشتن نام n است رمز عبور کس و در یک فایل بر روی دیسک، به عنوان زیر نشان داده شده:

 $ گوارش پیکربندی credential.helper فروشگاه
یا
$ git config --global credential.helper store 

از این به بعد ، Git برای دسترسی به اولین متن URL به پرونده ~ / .git-credentials می نویسد.

برای مشاهده محتوای این پرونده می توانید از این دستورالعمل استفاده کنید. گربه ، همانطور که در اینجا نشان داده شده است:

برای دستورات بعدی برای همان زمینه ، URL Git اعتبارنامه های شما را از پرونده فوق می خواند.

مانند روش قبلی ، این روش انتقال اعتبار کاربر به Git نیز نا امن است زیرا پرونده ذخیره سازی نیست. فقط با مجوزهای پرونده استاندارد رمزگذاری و محافظت می شوند

روش سوم شرح داده شده در زیر ایمن تر به حساب می آید.

ذخیره مخزن Git از راه دور با نام کاربری و رمز عبور در حافظه

آخرین و مهم نیست ، شما همچنین می توانید از استفاده کنید. اعتبار نامه یاور است تا مدتی اعتبار خود را در حافظه ذخیره کند.

برای این کار ، دستور زیر را اجرا کنید:

 $ git config credential.helper cache
یا
$ git config --global credential.helper cache 

پس از اجرای دستور فوق ، وقتی برای اولین بار سعی می کنید به یک مخزن خصوصی از راه دور دسترسی پیدا کنید ، Git نام کاربری و رمزعبور خود را درخواست می کند و آنها را برای مدتی در حافظه نگه می دارد. [19659035] زمان ذخیره پیش فرض 900 ثانیه (یا 15 دقیقه) است ، پس از آن Git از شما خواسته می شود دوباره نام کاربری و رمزعبور خود را وارد کنید.

می توانید آن را به شرح زیر تغییر دهید (1800 ثانیه = 30 دقیقه یا 3600 ثانیه = 1 ساعت). [19659037] $ git config –global credential.helper 'cache –timeout = 18000'
یا
$ git config –global credential.helper 'cache –timeout = 36000'

برای اطلاعات بیشتر در مورد Git و اعتبارنامه ها ، به صفحات این مرد مراجعه کنید.

 $ man git
$ man git-credential-cache
$ man git-credential-store 

آیا این راهنما مفید بود؟

از طریق فرم تفسیر زیر به ما اطلاع دهید.

همچنین می توانید هرگونه سؤال یا افکاری را در مورد این موضوع به اشتراک بگذارید.