إصلاح · جيت هب وGit
Permission denied (publickey) عند الدفع عبر SSH
تعطّل عملكلم يُفحص مقابل شاشات الجهة الحالية
ما قد تراه
- يقول الدفع permission denied (publickey)
- يقول could not read from the remote repository
- حصلت على جهاز جديد أو غيّرت مفتاحي
السبب الأرجح
لا يعرف GitHub مفتاح SSH الخاص بهذا الجهاز، أو أن المفتاح غير محمّل.
افحص أولاً (نحو دقيقتين)
- شغّل ssh -T git@github.com واقرأ الجواب؛ ترحيب باسم المستخدم يعني أن المفتاح يعمل.
- شغّل ssh-add -l لترى هل المفتاح محمّل.
أمر الإصلاح
ما تكتبه هنا لا يغادر متصفحك. البحث يعمل داخل هذه الصفحة ولا يُرسل شيء إلى خادم ولا إلى ذكاء اصطناعي.
يبقى في هذا المتصفح وعلى هذا الجهاز فقط. تُحذف المفاتيح وكلمات المرور قبل أي حفظ.
لغة الأمر
الصقه في Claude أو ChatGPT أو Gemini أو Cursor ثم اتبع ما يقوله.
بعد أن جرّبته، هل نجح؟
الخطوات
- شغّل ssh -T git@github.com وssh-add -l واعرض عليّ المخرجات.
- إن لم يوجد مفتاح فأنشئ واحداً بـ ssh-keygen -t ed25519 -C "my label" مع عبارة مرور، وحمّله بـ ssh-add.
- اعرض لي المفتاح العام فقط (الملف المنتهي بـ .pub) لأضيفه في حسابي على GitHub من صفحة إعدادات مفاتيح SSH (قد يختلف اسم الصفحة).
- اختبر مجدداً بـ ssh -T git@github.com ثم أعد الدفع.
لا تفعل هذا
- لا ترسل المفتاح الخاص لأحد ولا تلصقه في أي مكان.
- لا توقف فحص مفتاح الخادم "لتجاوز" الخطأ.
- لا تفتح ملف المفتاح الخاص (الذي بلا .pub) ولا تطبعه ولا تنسخه.