سؤال

(باستخدام نظام التشغيل Vista) أحاول استنساخ تطبيق من مستودع GitHub الخاص بي ودفعه إلى Heroku.حسنًا، لقد حاولت إنشاء مفتاح SSH عدة مرات باستخدام هذا:

 `ssh-keygen -t rsa` 

ويبدو أن تسير على ما يرام.لدي في مجلد C:/Users/***/.ssh الخاص بي.أحاول الآن استنساخ تطبيق قمت بتشعبه في GitHub.عندما أحاول استنساخه في دليل Rails_apps، أتلقى رسالة تقول

 Permission Denied(public key). 

لقد وجدت حلاً على الشبكة يقول أنه يجب علي تشغيل هذا أولاً:

`ssh-add` 

لذلك حاولت القيام بذلك.ولكن قيل أن:

تعذر فتح اتصال بوكيل المصادقة الخاص بك.

ثم بعد بعض البحث على Google، وجدت شيئًا حول تنفيذ وكيل ssh.لذلك أفعل هذا:

`ssh-agent bash`

ويتغير سطر الأوامر من دليل Rails_apps الخاص بي إلى هذا:

`bash3.1$>`

لذلك أركض:

`bash3.1$>ssh-add [path to .ssh folder]`

وتمت إضافة مفتاح rsa الخاص بنجاح (لا يعمل مع id-rsa.pub).لقد قمت أيضًا بلصق المفتاح العام الذي تم إنشاؤه حديثًا في حساب GitHub الخاص بي.

الآن عندما أحاول الاستنساخ:

`bash3.1$>git clone git@github.com:username/myrepo.git`

لقد نجح الآن في استنساخ الريبو الذي قمت بتشعبه في GitHub.الآن بعد أن أصبح لدي التطبيق في الريبو المحلي الخاص بي، أحاول إنشاء تطبيق Heroku.

`bash3.1$>cd myrepo`  
`bash3.1$>heroku create myapp`

ويعمل هذا الرمز بنجاح.تمت إضافة Git Remote بنجاح.الآن كل ما علي فعله هو الضغط عليه.

`bash3.1$>git push heroku master`

بام!أحصل على رسالة الخطأ مرة أخرى.

Permission denied (public key)

أنا قريب جدًا من دفع تطبيقي إلى Heroku.لكنها لن تنجح.هل بإمكانك مساعدتي.ما الخطأ الذي أفعله هنا؟شكرًا!:د

هل كانت مفيدة؟

المحلول

ملحوظة: تذكرة سفر على دعم جيثب دفع الجواب:

<اقتباس فقرة>   

وتحتاج إلى إعطاء heroku المفتاح الخاص بك. يجب أن يكون هناك أمر للقيام بذلك. إذا لم تتمكن من العثور عليه، سيكون لديك في الاتصال دعمهم.

لذلك، نرى غرايم كولينز الصورة <لأ href = "https://stackoverflow.com/ و/ 4722023/6309 "> الجواب (وأيضا خطأ Heroku:" إذن نفى (المفتاح العام) "):

heroku keys:add ~/.ssh/id_rsa.pub

Heroku devcenter للحصول على مزيد من المعلومات حول هذه العملية.
ثم يمكنك رؤية قائمة بجميع مفاتيح، بما في ذلك اسم المفتاح، مثل هذا:

heroku keys

ملحوظة: أن افترض أنك لم تستخدم سودو لتوليد المفاتيح الخاصة بك، و" بوابة استنساخ إذن heroku سه نفى "يوضح (حيث heroku keys:add لا تعمل)


ومزيد من المعلومات حول مفاتيح سه في ملفك الآخرين <لأ href = "http://support.github.com/discussions/repos/2046-ssh-key-public-key-denied-please-help-me" يختلط = "noreferrer نوفولو"> جيثب دعم تذكرة .

debug1: Trying private key: /.ssh/identity
debug1: Trying private key: /.ssh/id_rsa
debug1: Trying private key: /.ssh/id_dsa
<اقتباس فقرة>   

وأنا لست متأكدا من السبب في ذلك أن تبحث في /.ssh وليس ~/.ssh ذلك الحين.
  حاول نقل keypair فوق إلى هذا الطريق.


لا ينبغي أن يكون:

 git push origin master

و؟ افتراضيا، ويسمى في اشارة الى الريبو المستنسخة "الأصل" وليس "heroku '

وماذا

git remote -v show

وعرض؟

وانها تريد، يمكنك الرجوع الريبو بعيد من قبل باسم heroku

git remote add heroku git@github.com:git_username/projectname.git

نصائح أخرى

وكان لي مشكلة مماثلة. تشغيل الأمر التالي ثابتة بالنسبة لي:

وheroku keys:add ~/.ssh/id_rsa.pub

والبديل "~ / .ssh / id_rsa.pub" مع المسار إلى ملف id_rsa.pub الخاص بك.

والسطر التالي تحل مشكلة بالنسبة لي.

heroku accounts:set youraccount

يمكنك تسجيل الدخول أولاً في Heroku مع توفير Enail وكلمة المرور ويمكنك اتباع الخطوات التالية لإضافة مستودع git محلي إلى مثيل تطبيق Heroku.

  1. قم بإصدار هذا الأمر على Git Bash $ ssh-keygen -t rsa (الموقع الافتراضي وبعبارة مرور فارغة.يمكنك البدائل أيضا).
  2. قم مرة أخرى بإصدار مفاتيح bash $ Heroku: إضافة (ستضيف المفتاح العام تلقائيًا من الموقع الافتراضي).
  3. قم بإصدار هذا في bash للتحقق من المفاتيح.مفاتيح هيروكو $.
  4. يمكنك إضافة جهاز التحكم عن بعد لاسم التطبيق الخاص بك $ Heroku git:remote -a app_name
  5. يمكنك الآن دفع git repo إلى Heroku باستخدام هذا الأمر $ Heroku Push Origin Master
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top