ساخت Git SSH Key در GitHub

  • محمد هادی حاجی حسینی
  • 1402/12/05
ساخت SSH Key و اضافه کردن کلید SSH به GitHub
Github, گیت, SSH, Git, گیت هاب

ساخت Git SSH Keyدر GitHub

سلام و درود خدمت شما بچه های دوره گیت سایت کدینگ یار

گیت یک نرم‌افزار اوپن سورس است که در سال 2005 از سوی لینوس تروالدز ایجاد شده است. این ابزار یک «سیستم کنترل نسخه» (Version Control System) است که در ابتدا برای هماهنگ کار چند توسعه‌دهنده روی کرنل لینوکس ساخته شده بود. سیستم‌های کنترل نسخه زیادی مانند CVS ،SVN ،Mercurial و غیره وجود دارند، اما گیت امروزه به یک نرم‌افزار استاندارد برای کنترل نسخه تبدیل شده است.

برای انجام هر عملیاتی روی ریپازیتوری های آنلاین(remote) مثل عملیات push یا pull، باید نام کاربری و کلمه‌ی عبور خودتون رو وارد کنین که تکرار این موضوع شاید در طولانی مدت آزار دهنده باشه.

در این آموزش قصد داریم روشی رو معرفی کنیم که در آن دیگه نیازی به هر بار وارد کردن نام کاربری و کلمه‌ی عبور نیست. برای انجام این کار، از ssh-key استفاده می‌کنیم. ssh key ها ابزاری برای اتصال امن از طریق بستر ssh به یک ریموت سرور می‌باشند و دو طرف از طریق آن احراز هویت می‌شن.

SSH  چیست؟

SSH ( Secure Shell ) یک پروتکل شبکه هس که برای مدیریت شبکه انتقال فایل ها از راه دور و کنترل دسترسی به سیستم از راه دور استفاده میشه

 

SSH با استفاده از یک SSH Keys (کلید های SSH)یک شبکه ی رمز گذاری و تایید شده ایجاد میکنه و به ما اجازه میده در شبکه های باز و فاقد امنیت، یک ارتباط ایمن از راه دور ایجاد بکنیم

SSH Key ها اول یک “handshake” ایمن ایجاد میکنن. بعد در زمان ایجاد کلید ها، یک کلید عمومی (Public) و یک کلید خصوصی (Private) ایجاد میشه.

کلید عمومی با بخش remote به اشتراک گذاشته میشه. میتونین این کلید رو به عنوان یک قفل تصویر کنید. کلید خصوصی رو در یک مکان ایمن نگهداری خواهید کرد. میتونید این کلید رو به عنوان کلید قفلی که در بالا گفتیم، تصویر کنید

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

ساخت یک جفت کلید SSH

در Linux، Apple و Git Bash در Windows ، میتونید با استفاده از دستور rhe ، کلید SSH تولید کنین

بریم مرحله به مرحله به مرحله بررسی کنیم:

با استفاده از ایمیل تون به عنوان label ، یک کلید جدید بسازین:

   در زمان ساخت کلید، این پیام ها رو دریافت میکنین:

 

 

یک مکان فایل انتخاب کنین و یا کلید Enter رو بزنین تا مکان پیش فرض انتخاب بشه.

 

 

استفاده از یک passphrase امن، یک لایه امنیتی به کلید شما اضافه میکنه، چون کسی نمیتونه بدون داشتن passphrase از کامپیوترتون استفاده بکنه و برای هر بار استفاده از کلید ها، وارد کردن passphrase الزامیه

حالا این جفت کلید SSH رو به یک SSH-Agent اضافه میکنیم ( با استفاده از مکان فایل مشخص شده در بالا ):

 

اگه passphrase اضافه کرده باشین، تو این مرحله لازمه اون رو هم وارد کنین.

حالا SSH Key آماده استفاده هستش

افزودن کلید SSH به GitHub

کلید عمومی SSH را کپی کنید

 در بخش قبل، یک جفت کلید SSH ایجاد کردیم.

 حالا با استفاده از دستور clip < ، کلید عمومی رو در clipboard مون کپی میکنیم:

 

بهGitHub  برید بچه ها، بر کلید پروفایل خودتون ( بالا سمت چپ) کلیک کنین و Setting رو انتخاب کنین:

“SSH and GPS Keys” رو انتخاب کنین، و بر کلید “New SSH Key” کلیک کنین:

یک عنوان انتخاب کنین و کلید عمومی کپی شده رو در فیلد “Key” ، paste کنید. بعد  بر “Add SSH Key” کلیک کنین:

تو این مرحله از شما خواسته میشه password گیت هاب تون رو وارد کنین.

 

کلید SSH تون اضافه شده و قابل مشاهده هست:

تست ارتباط SSH با GitHub

حالا میتونیم ارتباط SSH مون با GitHub رو تست کنیم :

اگه آخرین خط، حاوی username تون در GitHub باشه، ارتباط شما با موفقیت ایجاد شده

اضافه کردن یک Remote جدید به GitHub با استفاده از ارتباط SSH

میتونیم، از طریق ارتباط SSH مون، یک Remote جدید به Git مون اضافه کنیم.

ابتدا، آدرس SSH را از Repository ما در GitHub دریافت کنید:

با استفاده از این آدرس، یک origin جدید ایجاد کنین

توجه:

میتونید با استفاده از دستور زیر، یک remote origin رو از HTTPS بهSSH تغییر بدید:

git remote set-url remote-name git@github.com:username/repository.git

 

کل مطالب بالا در فایل PDF برای شما عزیزان قابل دسترس هست

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

کامنت ها :
  • محمودی
    محمودی
    2 Farvardin 1403, 13:35
    پاسخ

    مرسی بسیار جامع و کامل 🙏

  • lenis
    lenis
    18 Esfand 1402, 16:29
    پاسخ

    مرسی بابت بلاگ
    واقعاً جامع بود و به بهترین شیوه تمام مراحل واضح توضیح داده شده بود🙏♥️

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