ข้อผิดพลาด Heroku:“ การอนุญาตถูกปฏิเสธ (คีย์สาธารณะ)”


94

ฉันได้รับข้อผิดพลาดนี้เรื่อย ๆ ฉันใช้ Mac ฉันสร้างคีย์และเพิ่มลงใน heroku โดยใช้

heroku config:add key="ssh-rsa blahblah=me@me.com"

แต่ไม่ได้ผล ฉันได้รับข้อผิดพลาดเดิม ๆ หากไม่ติดตั้ง ssh-keygen ใหม่ฉันจะทำอย่างไรกับสิ่งนี้

คำตอบ:


217

ลองheroku keys:add <path-to-your-public-key>.

ตัวอย่างเช่น, heroku keys:add ~/.ssh/id_rsa.pub


2
ใน Hackintosh ของฉันขณะติดตั้ง Github สำหรับ Mac ไฟล์ที่ต้องการจะอยู่ในเส้นทางนี้: ~ / .ssh / github_rsa.pub
Jahan

2
ลองใช้ ssh-keygen -t rsa -C "your_email@youremail.com" หากยังคงพบข้อผิดพลาดให้สร้าง file.pub อื่นและใช้คำสั่งนั้นในคำสั่งที่แนะนำในคำตอบนี้
Tom Roggero

19

วิธีแก้ปัญหาข้างต้นไม่ได้ผลสำหรับฉันเนื่องจากฉันไม่มีคีย์ใด ๆ ที่สร้างขึ้นในโฟลเดอร์ ~ / .ssh ของฉัน

วิธีแก้ปัญหาของฉันคือเพียงแค่พิมพ์ heroku keys:add

เอาต์พุตในเทอร์มินัลคือ:

Could not find an existing public key.
Would you like to generate one? [Yn] y
Generating new SSH public key.
Uploading SSH public key /home/funkdified/.ssh/id_rsa.pub... done

ดู: https://devcenter.heroku.com/articles/keys


4

ฉันประสบปัญหาเดียวกัน การเขียนประสบการณ์ของฉันเพื่อช่วยคนอื่น

ฉันพยายามทำตามคำแนะนำที่ระบุไว้ในเว็บไซต์อย่างเป็นทางการ - เริ่มต้นใช้งานแอพ Facebook ของคุณบน Heroku

แม้ว่ามันจะค่อนข้างแยกไม่ออกโดยเฉพาะวิดีโอ แต่มันค่อนข้างน่ารำคาญที่ต้องสังเกตว่าพวกเขาไม่ได้พูดถึงการตั้งค่าคีย์ SSH ไม่ว่าจะเป็นค่าเริ่มต้น (ฉันไม่รู้) หรือคุณได้รับข้อผิดพลาดที่กล่าวถึงในโปสเตอร์คำถาม

ฉันจึงทำสิ่งต่อไปนี้:

1. เปิด git shell

2. พิมพ์สิ่งต่อไปนี้ใน

C:\Users\blue\Documents\GitHub> heroku keys:add
Found the following SSH public keys:
1) github_rsa.pub
2) id_rsa.pub
Which would you like to use with your Heroku account? 2

3. หลังจากนั้นฉันก็สามารถตรวจสอบที่เก็บของฉันได้

C:\Users\blue\Documents\GitHub> heroku login
Enter your Heroku credentials.
Email: sxxxxt.xxxx@gmail.com
Password (typing will be hidden):
Authentication successful.
C:\Users\blue\Documents\GitHub> git clone git@heroku.com:sxxxd-plains-8530.gi
t
Cloning into 'sxxxd-plains-8530'...
Warning: Permanently added 'heroku.com,50.19.85.154' (RSA) to the list of known
hosts.
remote: Counting objects: 180, done.
remote: Compressing objects: 100% (112/112), done.
remote: Total 180 (delta 82), reused 132 (delta 62)
Receiving objects:  81% (146/180), 76.00 KiB | 62 KiB/s
Receiving objects: 100% (180/180), 137.91 KiB | 62 KiB/s, done.
Resolving deltas: 100% (82/82), done.
C:\Users\blue\Documents\GitHub>

โปรดอย่าลงคะแนนคำตอบของฉัน แม้ว่าฉันจะไม่ได้เพิ่มมูลค่าใหม่ให้กับสิ่งที่โพสต์ไปแล้ว แต่ฉันหวังว่าประสบการณ์ของฉันจะช่วยให้คนที่เพิ่งเริ่มใช้ git & heruko ดังนั้นฉันจึงเพิ่มภาพหน้าจอ

  • 2 เซ็นต์ของฉัน

โซลูชันของคุณใช้งานได้ใน Git Bash แต่ฉันไม่รู้ว่าทำไมขั้นตอนเดียวกันไม่ทำงานอย่างสม่ำเสมอใน windows cmd ???
cyber101

2

คัดลอกไฟล์ในเส้นทาง. ssh ของคุณเช่น:

/c/Users/<yourusername>/.ssh/<files>

ไปยังโฟลเดอร์ git .ssh

/c/Program Files/Git/.ssh/<paste files here>

หากไม่มีโฟลเดอร์. sh ในไดเร็กทอรี Git ให้สร้างขึ้นจากนั้นวางไฟล์ของคุณ

ด้วยเหตุผลบางประการ windows ต้องการให้พา ธ . ssh อยู่ในไดเร็กทอรีผู้ใช้เช่นเดียวกับไดเร็กทอรี Git ค่าเริ่มต้นจะไม่ถูกเพิ่มดังนั้นคุณต้องสร้างเอง

หลังจากเพิ่มไฟล์ลงในไดเร็กทอรีของ Git แล้วให้รันคำสั่งต่อไปนี้อีกครั้ง:

git push heroku master


1

หากคุณยังไม่มีคีย์ ssh ให้ลองสร้างโดยใช้คำสั่งด้านล่าง:

1. ssh-keygen -t rsa -C "your_email@example.com"
2. ssh-add

สำหรับการกำจัดการอนุญาต Heroku ถูกปฏิเสธ (คีย์สาธารณะ) ให้เพิ่มคีย์ของคุณไปที่ heroku โดยใช้:

3. heroku keys:add <path_to_your_ssh>
    OR
 heroku keys:add

สำหรับการกำจัดการอนุญาต Github ถูกปฏิเสธ (คีย์สาธารณะ) ให้เพิ่มคีย์ของคุณไปยัง Github โดยใช้:

4. ssh-add <path_to_your_ssh> 
     OR
  ssh-add
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.