تنظیم ssh-key برای گیت

تنظیم ssh-key برای گیت

۲۲ تیر ۱۴۰۱

اگر تا به حال برای مدیریت پروژه، طراحی سایت و ... با گیت کار کرده باشید و از یک ریپازیتوری آنلاین مثل گیت‌هاب (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

 حال از این به بعد به راحتی می‌توانید بدون نیاز به هر بار وارد کردن نام کاربری و کلمه‌ی عبور با ریپازیتوری آنلاین خود کار کنید.

موفق باشید


برخی از پروژه‌ها
موسسه خیریه
ایپا

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

رستوران
عمارت وکیل

عمارت وکیل، بزرگترین مجموعه رستورانی شهر یزد با هدف ارائه با کیفیت ترین غذاهای ایرانی و فرنگی به طیف وسیع ساکنین و گردشگران داخلی و بین المللی در این شهر است.

پروژه‌های بیشتر