ত্রুটিgit@github.com: অনুমতি অস্বীকার করা হয়েছে (পাবলিককি)। মারাত্মক: রিমোট রিপোজিটরি থেকে পড়া যায়নি মানে GitHub আপনার SSH প্রমাণীকরণ প্রত্যাখ্যান করেছে। গিট সেট আপ করার সময় এটি একটি সাধারণ ব্লকার। এটি সম্পূর্ণরূপে ঠিক কিভাবে এখানে.
📋 Table of Contents
- এই ত্রুটির মানে কি
- ধাপ 1: বিদ্যমান SSH কীগুলির জন্য পরীক্ষা করুন
- ধাপ 2: একটি নতুন SSH কী তৈরি করুন
- ধাপ 3: SSH এজেন্টে কী যোগ করুন
- ধাপ 4: GitHub এ সর্বজনীন কী যোগ করুন
- সাধারণ কারণ 1: SSH এর পরিবর্তে HTTPS রিমোট ব্যবহার করা
- সাধারণ কারণ 2: এজেন্টে কী লোড করা হয়নি
- সাধারণ কারণ 3: ভুল কী অনুমতি
- ভার্বোস আউটপুট দিয়ে ডিবাগিং
- প্রায়শই জিজ্ঞাসিত প্রশ্ন
- প্রশ্নঃ আমার কি Ed25519 বা RSA ব্যবহার করা উচিত?
- "অনুমতি অস্বীকার (পাবলিককি)" মানে গিটহাব আপনার SSH কী প্রমাণীকরণ করতে পারেনি। ফিক্স সিকোয়েন্স:
এই ত্রুটির মানে কি
GitHub SSH কীগুলি ব্যবহার করে SSH ওভার পুশ/টান দেওয়ার জন্য আপনাকে প্রমাণীকরণ করে। “অনুমতি অস্বীকার করা হয়েছে (পাবলিককি)” মানে গিটহাব আপনার পরিচয় যাচাই করতে পারেনি — সাধারণত কারণ আপনার কাছে কোনও SSH কী নেই, কীটি আপনার GitHub অ্যাকাউন্টে যোগ করা হয়নি, বা SSH এজেন্ট এটি ব্যবহার করছে না।
ধাপ 1: বিদ্যমান SSH কীগুলির জন্য পরীক্ষা করুন
ls -la ~/.ssh
# Look for: id_ed25519.pub or id_rsa.pub
# If you see .pub files, you may already have a key — skip to Step 3
ধাপ 2: একটি নতুন SSH কী তৈরি করুন
# Ed25519 is the modern recommended algorithm
ssh-keygen -t ed25519 -C "your_email@example.com"
# Press Enter to accept default location (~/.ssh/id_ed25519)
# Optionally set a passphrase for extra security
# For older systems without Ed25519 support:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
ধাপ 3: SSH এজেন্টে কী যোগ করুন
# Start the ssh-agent
eval "$(ssh-agent -s)"
# Agent pid 12345
# Add your key
ssh-add ~/.ssh/id_ed25519
# On macOS, store passphrase in keychain
ssh-add --apple-use-keychain ~/.ssh/id_ed25519
ধাপ 4: GitHub এ সর্বজনীন কী যোগ করুন
# Copy your PUBLIC key (.pub — never share the private key!)
cat ~/.ssh/id_ed25519.pub
# macOS: copy directly to clipboard
pbcopy < ~/.ssh/id_ed25519.pub
# Linux:
xclip -sel clip < ~/.ssh/id_ed25519.pub
তারপর গিটহাবে:সেটিংস, তারপর SSH এবং GPG কী, তারপর নতুন SSH কী . পাবলিক কী পেস্ট করুন এবং সংরক্ষণ করুন।ধাপ 5: সংযোগ পরীক্ষা করুন
সাধারণ কারণ 1: SSH এর পরিবর্তে HTTPS রিমোট ব্যবহার করা
ssh -T git@github.com
# Success looks like:
# Hi username! You've successfully authenticated,
# but GitHub does not provide shell access.
# The "does not provide shell access" message is NORMAL and means it worked!
সাধারণ কারণ 2: এজেন্টে কী লোড করা হয়নি
# Check your remote URL
git remote -v
# origin https://github.com/user/repo.git ← HTTPS, not SSH!
# Switch to SSH
git remote set-url origin git@github.com:user/repo.git
# Verify
git remote -v
# origin git@github.com:user/repo.git (fetch)
সাধারণ কারণ 3: ভুল কী অনুমতি
# List keys currently in the agent
ssh-add -l
# "The agent has no identities" means no key is loaded
# Add your key
ssh-add ~/.ssh/id_ed25519
# Make it persistent — add to ~/.ssh/config:
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519
AddKeysToAgent yes
UseKeychain yes # macOS only
ভার্বোস আউটপুট দিয়ে ডিবাগিং
# SSH refuses keys with loose permissions
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_ed25519 # private key
chmod 644 ~/.ssh/id_ed25519.pub # public key
chmod 600 ~/.ssh/config
প্রায়শই জিজ্ঞাসিত প্রশ্ন
# See exactly what SSH is doing
ssh -vT git@github.com
# Look for lines like:
# "Offering public key: ~/.ssh/id_ed25519" ← key is being tried
# "Authentications that can continue: publickey" ← GitHub wants a key
# If your key isn't offered, it's not in the agent or config
প্রশ্নঃ আমার কি Ed25519 বা RSA ব্যবহার করা উচিত?
উত্তর: Ed25519 — এটি RSA এর চেয়ে বেশি নিরাপদ এবং দ্রুত। শুধুমাত্র পুরানো সিস্টেমের জন্য RSA (4096-bit) ব্যবহার করুন যা Ed25519 সমর্থন করে না।
প্রশ্ন: .pub ফাইল এবং অন্যটির মধ্যে পার্থক্য কী?
আপনার পাবলিক কী — শেয়ার করা নিরাপদ, এটি গিটহাবে যোগ করুন।
A: id_ed25519.pub (কোনও এক্সটেনশন নেই) আপনার ব্যক্তিগত কী — এটি কখনই ভাগ করবেন না, কখনই এটি কমিট করবেন না।id_ed25519প্রশ্ন: এটি আগে কাজ করেছিল কিন্তু হঠাৎ ব্যর্থ হয়। কেন?
উত্তর: রিবুট করার পরে ssh-এজেন্ট প্রায়ই কী হারায়। যোগ করুন
, অথবা পুনরায় চালানAddKeysToAgent yes to ~/.ssh/config. MacOS-এ,ssh-add এটা স্থায়ী করে তোলে।UseKeychain yesপ্রশ্ন: আমি কি একাধিক মেশিনে একই কী ব্যবহার করতে পারি?
উত্তর: আপনি করতে পারেন, কিন্তু সর্বোত্তম অনুশীলন হল ডিভাইস প্রতি একটি পৃথক কী। এইভাবে, যদি একটি মেশিন আপস করা হয়, আপনি অন্যদের প্রভাবিত না করে শুধুমাত্র GitHub থেকে সেই কী প্রত্যাহার করবেন।
প্রশ্ন: গিটহাবের জন্য HTTPS বা SSH?
উত্তর: SSH বারবার শংসাপত্র প্রবেশ করা এড়ায় এবং একবার সেট আপ করার জন্য সুবিধাজনক। একটি ব্যক্তিগত অ্যাক্সেস টোকেন সহ HTTPS এক-বার ব্যবহার বা SSH ব্লক করে এমন সীমাবদ্ধ নেটওয়ার্কগুলির জন্য সহজ।
উপসংহার
“অনুমতি অস্বীকার (পাবলিককি)” মানে গিটহাব আপনার SSH কী প্রমাণীকরণ করতে পারেনি। ফিক্স সিকোয়েন্স:
দিয়ে একটি কী তৈরি করুন , এটিকে এজেন্টের সাথে যোগ করুন, GitHub-এ .pub কী যোগ করুন এবংssh-keygen -t ed25519দিয়ে পরীক্ষা করুন . এটি এখনও ব্যর্থ হলে, আপনার রিমোট SSH (HTTPS নয়) ব্যবহার করে এবং কী অনুমতিগুলি সঠিক তা পরীক্ষা করুন৷ ভার্বোস পতাকাssh-add ঠিক কোথায় প্রমাণীকরণ ভেঙে যায় তা প্রকাশ করে।ssh -T git@github.com ঠিক কোথায় প্রমাণীকরণ ভেঙে যায় তা প্রকাশ করে।ssh -vT ঠিক কোথায় প্রমাণীকরণ ভেঙে যায় তা প্রকাশ করে।
🔗 Share this article
✍️ Leave a Comment