ساخت کلید SSH و اتصال به گیت‌هاب

ساخت کلید SSH با ssh-keygen، افزودن آن به گیت‌هاب و تست موفق اتصال — قدم‌به‌قدم کامل.

راه‌اندازی SSH برای گیت‌هاب

در این مبحث کلید SSH می‌سازیم و به گیت‌هاب وصل می‌شویم. فقط یک بار انجامش می‌دهید و برای همیشه راحت می‌شوید!

قدم ۱: بررسی کلیدهای موجود

اول ببینید آیا از قبل کلید دارید:

ls ~/.ssh

اگر فایلی به نام id_ed25519.pub یا id_rsa.pub دیدید، از قبل کلید دارید — مستقیم به قدم ۳ بروید!

قدم ۲: ساخت کلید جدید

ssh-keygen -t ed25519 -C "ali@example.com"

سه سؤال از شما می‌پرسد — همه را با Enter رد کنید (مقادیر پیش‌فرض):

  1. محل ذخیره؟ → Enter (پیش‌فرض: ~/.ssh/id_ed25519)
  2. رمز برای کلید (passphrase)؟ → Enter (بدون رمز — برای سادگی)
  3. تکرار رمز؟ → Enter
اگر سیستم قدیمی است و ed25519 را نمی‌شناسد، از 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

قدم ۵: افزودن کلید به گیت‌هاب

  1. وارد گیت‌هاب شوید
  2. روی عکس پروفایل (بالا راست) → Settings کلیک کنید
  3. از منوی چپ: SSH and GPG keys
  4. روی New SSH key کلیک کنید
  5. Title: یک نام (مثل «لپ‌تاپ من»)
  6. Key type: Authentication Key
  7. Key: کلید کپی‌شده را Paste کنید
  8. روی 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

خلاصه

این مبحث بخشی از دوره آموزش کامل Git است.

ابزارهای مرتبط