ساخت کلید SSH و اتصال به گیتهاب
ساخت کلید SSH با ssh-keygen، افزودن آن به گیتهاب و تست موفق اتصال — قدمبهقدم کامل.
راهاندازی SSH برای گیتهاب
در این مبحث کلید SSH میسازیم و به گیتهاب وصل میشویم. فقط یک بار انجامش میدهید و برای همیشه راحت میشوید!
قدم ۱: بررسی کلیدهای موجود
اول ببینید آیا از قبل کلید دارید:
ls ~/.ssh
اگر فایلی به نام id_ed25519.pub یا id_rsa.pub دیدید، از قبل کلید دارید — مستقیم به قدم ۳ بروید!
قدم ۲: ساخت کلید جدید
ssh-keygen -t ed25519 -C "ali@example.com"
-t ed25519— نوع رمزنگاری (امن و مدرن)-C— کامنت (ایمیل شما — فقط برچسب است)
سه سؤال از شما میپرسد — همه را با Enter رد کنید (مقادیر پیشفرض):
- محل ذخیره؟ → Enter (پیشفرض: ~/.ssh/id_ed25519)
- رمز برای کلید (passphrase)؟ → Enter (بدون رمز — برای سادگی)
- تکرار رمز؟ → Enter
ssh-keygen -t rsa -b 4096 -C "ایمیل" استفاده کنید.قدم ۳: اجرای ssh-agent
ssh-agent برنامهای است که کلید شما را در حافظه نگه میدارد:
# در لینوکس/مک:
eval "$(ssh-agent -s)"
# در گیتباش ویندوز معمولاً خودکار فعال است
قدم ۴: کپی کلید عمومی
محتوای فایل .pub (کلید عمومی) را کپی کنید:
# در ویندوز (Git Bash):
cat ~/.ssh/id_ed25519.pub | clip
# در مک:
pbcopy < ~/.ssh/id_ed25519.pub
# در لینوکس:
cat ~/.ssh/id_ed25519.pub
خروجی چیزی شبیه این است (یک خط طولانی):
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... ali@example.com
قدم ۵: افزودن کلید به گیتهاب
- وارد گیتهاب شوید
- روی عکس پروفایل (بالا راست) → Settings کلیک کنید
- از منوی چپ: SSH and GPG keys
- روی New SSH key کلیک کنید
- Title: یک نام (مثل «لپتاپ من»)
- Key type: Authentication Key
- Key: کلید کپیشده را Paste کنید
- روی Add SSH key کلیک کنید
قدم ۶: تست اتصال
ssh -T git@github.com
بار اول این پیام را میبینید — yes بزنید:
The authenticity of host "github.com" can not be established...
Are you sure you want to continue connecting (yes/no)? yes
اگر همهچیز درست باشد:
Hi username! You have successfully authenticated, but GitHub does not provide shell access.
🎉 تبریک! حالا میتوانید بدون رمز push و pull کنید!
استفاده از SSH
از این به بعد، آدرس مخازن را بهصورت SSH بردارید. در صفحه مخزن گیتهاب، روی دکمه سبز Code کلیک کنید و تب SSH را انتخاب کنید:
git@github.com:username/my-project.git
خلاصه
ssh-keygen -t ed25519 -C "ایمیل"کلید میسازد- کلید عمومی (.pub) را به گیتهاب بدهید
- کلید خصوصی را برای خودتان نگه دارید!
- با
ssh -T git@github.comتست کنید
این مبحث بخشی از دوره آموزش کامل Git است.