لطفاًبرای موضوع عنوان مناسب تعیین کنید.آره داره. ممنون
کلید ssh داره حسابتون؟ اگه داشته باشه در مسیر ~/.ssh/id_rsa.pub هست. اون رو در تنظیمات گیتهاب در بخش کلیدهای ssh قرار بدید.
گرچه توصیه میکنم از گیتهاب یه محصول مالکتیه فاصله بگیرید و از خدماتی مثل گیتلبهی میزبانی شده یا سورسهات (https://sourcehut.org/) یا کدبرگ (https://codeberg.org/) استفاده کنید.
ssh-keygen -t rsa -C 'user@email.com'
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
به ترتیب هر کدوم از خطها رو جدا جدا اجرا کنید. به جای اون user@email.com ایمیل خودتون رو وارد کنید.https://github.com/settings/keys
روی New SSH key بزنید. یه Title دلخواه انتخاب کنید و برای گزینه Key هم این دستور رو توی ترمینال بزنید:cat ~/.ssh/id_ed25519.pub
کلید عمومی که نمایش داده میشه رو توی اون قسمت Key مرورگر وارد کنید و تمام.
سلام من یه بار دستوراتی که لازمه بزنید رو بهتون میگم بدون توضیحات شاید بهتر باشه:نشد با این روش.کد: [انتخاب]ssh-keygen -t rsa -C 'user@email.com'
به ترتیب هر کدوم از خطها رو جدا جدا اجرا کنید. به جای اون user@email.com ایمیل خودتون رو وارد کنید.
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
حالا وارد این مسیر بشید توی مرورگر:کد: [انتخاب]https://github.com/settings/keys
روی New SSH key بزنید. یه Title دلخواه انتخاب کنید و برای گزینه Key هم این دستور رو توی ترمینال بزنید:کد: [انتخاب]cat ~/.ssh/id_ed25519.pub
کلید عمومی که نمایش داده میشه رو توی اون قسمت Key مرورگر وارد کنید و تمام.
دوست عزیز خوب نشد یعنی چی؟ بگو کجا مشکل پیدا میکنه؟ چه اروری میده؟ چه مرحلهای رو نمیتونید انجام بدید.یعنی این که با روش شما هم به گیتهاب وصل نشد و میخوام مخزن خصوصی کلون کنم نمیشه باز هم.
نمیشه بیمعنیه. همیشه یه چیزی میشه. باید دقیق بگی چی میشه.یک مخزن خصوصی ساختم واسه تست این که کلید کار میکنه یا نه:
➜ ~ git clone git@github.com:pyrsth/test.git
Cloning into 'test'...
The authenticity of host 'github.com (140.82.121.3)' can't be established.
ED25519 key fingerprint is SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'github.com' (ED25519) to the list of known hosts.
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
کلید عمومیت رو به گیتهاب دادی؟آره.البته کلید ED ندادم و RSA دادم.
کلید ED چیه دیگه؟ باید id_ras.pub رو بهش بدیهمون رو بهش دادم.
$ ssh -T git@github.com
> Hi USERNAME! You've successfully authenticated, but GitHub does not
> provide shell access.
طبق مستندات github اگر همهٔ مراحل را صحیح انجام داده باشید خروجی دستور زیر باید درست باشد.بله اما نه به نطر خودم بک اشتباه کردم.کد: [انتخاب]$ ssh -T git@github.com
> Hi USERNAME! You've successfully authenticated, but GitHub does not
> provide shell access.https://docs.github.com/en/authentication/connecting-to-github-with-ssh/testing-your-ssh-connection
➜ ~ ssh -T git@github.com
git@github.com: Permission denied (publickey).
$ ssh -T git@github.com -i /home/esmaeel/.ssh/github
Hi esmaeelE! You've successfully authenticated, but GitHub does not provide shell access.
حدس میزنم در مرحلهٔ تولید کلید یا قرار دادنش در گیتهاب مشکل دارید.این رو زدم ولی باز هم کار نمیده
من کلید مربوط به گیتهاب را به ماشین دیگری منتقل کردم و به این شکل به ssh گفتم که برای احراز هویت به جای پروندهٔ پیشفرض به نام id_rsa از کدام کلید استفاده کند.کد: [انتخاب]$ ssh -T git@github.com -i /home/esmaeel/.ssh/github
Hi esmaeelE! You've successfully authenticated, but GitHub does not provide shell access.
➜ ~ ssh -T git@github.com -i ~/.ssh/id_rsa.pub
git@github.com: Permission denied (publickey).
~/.ssh
در این صورت کلید صحیحی در گیتهاب اضافه نشده.بله مشکل حل شد. البته خودم هم یک اشتباهی کردم که کار نمیکرد.
این قسمت را با دقت انجام دهید.
اگر از کلیدهاتون استفادهای نمیکنید و دارید این ویژگی را آزمایش میکنید.
۱. در پوشهٔکد: [انتخاب]~/.ssh
هرچه کلید هست حذف کنید.
۲. در گیتهاب هم هرچه کلید دارید حذف کنید.
۳. مجدد یک کلید بسازید و به گیتهاب اضافه کنید.
git clone git@github.com:user/repo.git