اگر تا به حال برای مدیریت پروژه، طراحی سایت و … با گیت کار کرده باشید و از یک ریپازیتوری آنلاین مثل گیتهاب (github) و یا گیتلب (gitlab) برای ذخیرهسازی فایلهای خود استفاده کرده باشید، حتما متوجه شدهاید که برای انجام هر عملیاتی روی ریپازیتوری مثل عملیات push یا pull، باید نام کاربری و کلمهی عبور خود را وارد کنید و این موضوع شاید در طولانی مدت آزار دهنده باشد.
در این مقاله به معرفی یک راه جایگزین برای این کار میپردازیم که در آن دیگر نیازی به هر بار وارد کردن نام کاربری و کلمهی عبور نیست. برای انجام این کار، از ssh-key استفاده میکنیم. ssh key ها ابزاری برای اتصال امن از طریق بستر ssh به یک ریموت سرور میباشند و دو طرف از طریق آن احراز هویت میشوند.
حال کاری که ما انجام میدهیم این است که در سمت کاربر، یک ssh key میسازیم و مشخصات آن را به نحوی به ریپازیتوریمان میدهیم. سپس لازم است که مطمئن شویم پروتوکل ارتباطی کاربر با سرور، بر بستر ssh میباشد. سپس دیگر احراز هویت بر عهدهی ssh-key خواهد بود و نیازی نیست که ما هر سری نام کاربری و کلمهی عبورمان را برای احراز هویت وارد کنیم.
حال برای انجام این کار مراحل زیر را انجام دهید:
۱. در لینوکس یا مک، ترمینال را باز کنید و دستورات زیر را وارد کنید تا ssh-key ساخته شود(برای این کار مقادیر خواسته شده را پر کنید):
cd ~
ssh-keygen -t rsa
پس از اجرای دستور فوق، در آدرس ~/.ssh ، دو فایل id_rsa و id_rsa.pub ساخته میشوند که به ترتیب کلید خصوصی(private key) و کلید عمومی(public key) شما میباشند.
۲. حال وارد تنظیمات ریپازیتوری آنلاینتان شوید و افزودن ssh key را انتخاب کنید و سپس محتویات فایل id_rsa.pub را در آن بریزید. (دقت کنید که برای دسترسی به این قسمت لازم است که دسترسی مدیر یاadministrative priviledge داشته باشید.)
۳. حال باید مطمئن شویم که راه ارتباطی کاربر ما با ریپازیتوری بر بستر ssh باشد. برای این کار دستور زیر را بزنید:
git remote show origin
دقت کنید که راه ارتباطی شما باید به جای
https://github.com/username/reponame.git
به فرمت
git+ssh://git@github.com/username/reponame.git
باشد. اگر اینگونه نبود، آدرس ssh ریپازیتوری خود را از سایت کپی کنید و با دستور زیر آن را تغییر دهید:
git remote set-url origin YOUR_SSH_GIT_ADDRESS
حال از این به بعد به راحتی میتوانید بدون نیاز به هر بار وارد کردن نام کاربری و کلمهی عبور با ریپازیتوری آنلاین خود کار کنید.
موفق باشید