تنظیم GitLab برای اتصال SSH

در مطالب قبلی نحوه اتصال GitHub و Azure DevOps از طریق HTTPS توضیح داده شد، در این پست قصد ایجاد کلید Public و وارد کردن آن در سایت GitLab را داریم. برای این کار نیاز به یک ترمینال خواهیم داشت. اگر هنوز سیستم گیت را نصب نکرده اید به پست زیر برای راه اندازی Git Bash مراجعه کنید:

https://vrgl.ir/gExZt

برنامه Git Bash را اجرا و دستور زیر را وارد کنید:

$ cd ~/.ssh 

اگر بنا به هر دلیلی پوشه ssh در دایرکتوری کاربر شما وجود نداشت آن را با دستور زیر ایجاد کنید:

$ mkdir .ssh

سرویس های میزبانی گیت مانند GitHub و GitLab برای اتصال SSH نیاز به id_rsa و id_rsa.pub خواهند داشت که با دستور زیر به همراه وارد کردن آدرس ایمیل ایجاد می‌شوند:

$ ssh-keygen -t rsa -C 'foo@bar.baz'

با وارد کردن دستور بالا پیامی به این شکل ظاهر خواهد شد:

Enter file in which to save the key (/home/demo/.ssh/id_rsa):

کلید اینتر را بزنید تا فایل با نام پیش فرض ایجاد شود. سپس از شما درخواست رمز عبور خواهد شد:

Enter passphrase (empty for no passphrase):

انتخاب رمز عبور برای دسترسی به کلید SSH لزومی ندارد و با زدن اینتر می‌توان آن را نادیده گرفت.

Enter same passphrase again:

اگر رمز عبوری انتخاب کرده‌اید آن را وارد و در غیر اینصورت آن را نادیده بگیرید.

فایل کلید شما ایجاد خواهد شد. دقت داشته باشید id_rsa کلید خصوصی و id_rsa.pub کلید عمومی شما می‌باشد. کلید عمومی را با ویرایشگر متن مانند VS Code باز کنید:

$ code id_rsa.pub

کلید عمومی شما با کلمه ssh-rsa آغاز می‌شود. تمام متن آن را کپی کرده و به لینک زیر بروید:

https://gitlab.com/profile/keys

نیازی به حساب جدید نخواهید داشت، می‌توانید با حساب فعلی گیت‌هاب، گوگل و ... خود وارد سایت شوید.

کلید عمومی را در کادر مشخص شده وارد و سپس در کادر Title یک نام دلخواه برای کلید خود انتخاب کنید. وارد کردن تاریخ انقضا اجباری نمی‌باشد. در نهایت دکمه Add key را بزنید.

برای اتصال از طریق SSH آماده هستید. کافی است به ریپو خود رفته و آن را git clone کنید.

موفق باشید ?