ข้อผิดพลาดในการอนุญาต Git ถูกปฏิเสธ (กุญแจสาธารณะ)


6

ฉันได้เชื่อมโยงหลายครั้งกับ GitHub และรู้เกี่ยวกับการสร้างคีย์ ssh และใส่id_rsa.pubลงในการตั้งค่า GitHub แต่ด้วยเหตุผลบางอย่างด้วยการติดตั้งนี้ฉันไม่สามารถเชื่อมต่อได้ ฉันแค่พยายามโคลน repo ส่วนตัวไปยังเซิร์ฟเวอร์ใหม่ แต่เมื่อฉัน clone ฉันได้รับ:

ปฏิเสธการอนุญาต (publickey) ร้ายแรง: ปลายระยะไกลวางสายโดยไม่คาดคิด

ถ้าฉันวิ่ง:

ssh -T git@github.com

มันบอกฉันว่าฉันรับรองความถูกต้องเรียบร้อยแล้ว

ฉันจะลองทำอะไรอีก ฉันกำลังใช้งานบน bitnami stack ดังนั้นอาจเป็นสาเหตุของปัญหาหรือไม่ นี่อาจเป็นปัญหาฉันไม่แน่ใจว่าจะทำอย่างไร มีชุดของคีย์อยู่แล้วใน. ssh / authorized_keys dir ฉันทิ้งคนเหล่านั้นเพียงลำพังเพราะนี่คือวิธีที่ฉันเชื่อมต่อกับผงสำหรับอุดรู / หน้า ฉันใส่คีย์ใหม่ใน /.ssh แล้วปล่อยให้ authorized_keys อยู่คนเดียว อะไรคือวิธีที่ถูกต้องในการตั้งค่านี้ ฉันควรลบทั้งคู่และเริ่มใหม่หรือไม่ ใช้ปุ่มเดียวกันสำหรับสีโป๊วและ github? ทำไมฉันยังคงตรวจสอบหากมีปัญหา?


คุณพยายามเชื่อมต่อจาก Windows หรือ Linux หรือไม่ ฉันสับสนโดยความเห็นด้านล่างของคุณและการกล่าวถึง putty ของคุณที่นี่
Sathyajith Bhat

สวัสดีขอโทษมันสับสน ฉันกำลังเชื่อมต่อจาก Windows ไปยังเซิร์ฟเวอร์ bitnami กับ Putty เซิร์ฟเวอร์ bitnami นั้นใช้งาน Linux ฉันกำลังพยายามเชื่อมต่อกับ GitHub จากเซิร์ฟเวอร์ Linux
zac

ฉันอัพเดตคำตอบแล้ว
Sathyajith Bhat

คำตอบ:


7

คุณได้ลองสร้างใบรับรอง SSH ใหม่นั่นคือกุญแจคู่

1 สร้างคู่คีย์เริ่มต้น:

$ ssh-keygen -t rsa -C "defaultuser@gmail.com"

อย่าใช้สิ่งนี้หากคุณมีใบรับรอง SSH แล้ว

2 สร้างคู่คีย์เพิ่มเติม:

$ ssh-keygen -t rsa -C "seconduser@gmail.com"

3 เพิ่มคีย์ที่ไม่ใช่ค่าเริ่มต้น

$ ssh-add ~/.ssh/id_rsa_seconduser
Enter passphrase for /Users/defaultuser/.ssh/id_rsa_seconduser: 
Identity added: /Users/defaultuser/.ssh/id_rsa_defaultuser  (/Users/defaultuser/.ssh/id_rsa_defaultuser)

4 ตั้งค่าไฟล์การกำหนดค่า SSH ( ~/.ssh/config) เพื่อให้ SSH รู้ว่าควรใช้คีย์ใดสำหรับเซิร์ฟเวอร์ใด:

Host github.com
  HostName github.com
  User git
  IdentityFile /Users/XXXUser/.ssh/id_rsa

Host github-client
  HostName github.com
  User git
  IdentityFile /Users/XXXUser/.ssh/id_rsa_XXXSECONDUSER

5 ตรวจสอบให้แน่ใจใน.git/configไฟล์สำหรับโครงการ Git ที่เชื่อมโยงกับบัญชีผู้ใช้ที่สองที่ Github ว่าคุณใช้ชื่อโฮสต์ที่ถูกต้องgithub-clientแต่ไม่github.com:

[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = git@github-client:foobarsomeuser/foobar.git

ขอบคุณ! ที่ช่วยให้ฉันคิดออกว่าจะทำอย่างไร ปัญหาคือว่าฉันพยายามที่จะใช้ผู้ใช้ bitnami เริ่มต้น ฉันสร้างปุ่มเป็นผู้ใช้ใหม่และตอนนี้ก็ใช้งานได้!
zac

0

ดูเหมือนว่ากุญแจสาธารณะของคุณจะหายไปหรือคุณได้วางกุญแจสาธารณะที่ไม่ถูกต้องในพวงกุญแจของคุณ ตรวจสอบว่ามีพวงกุญแจอยู่~/.sshหรือไม่ ยากที่จะพูดโดยไม่พูดถึงระบบปฏิบัติการของคุณ


มีชุดของคีย์อยู่แล้วใน. ssh / authorized_keys dir

ฉันเชื่อว่าสิ่งเหล่านี้เป็นกุญแจที่จำเป็นในการ ssh เข้าไปในเซิร์ฟเวอร์ Linux

วิธีที่ดีที่สุดที่จะงอกใหม่ชุดใหม่ของคีย์ส่วนตัว / สาธารณะสำหรับ GitHub เพิ่ม PK ไปยังเซิร์ฟเวอร์ลินุกซ์พวงกุญแจของคุณและวางคีย์สาธารณะมากกว่าที่บัญชี Github


ฉันอัปเดตคำถามเพื่อพยายามอธิบายให้ดียิ่งขึ้น ใช่ปุ่มอยู่ใน ~ / .ssh (และอีกชุดหนึ่งใน authorized_keys) สแต็กนี้เป็น Linux 64 บิตที่ฉันเชื่อ
zac

ขอบคุณฉันไม่เข้าใจ ฉันเก็บกุญแจที่มีเพื่อ ssh เข้าไปในเซิร์ฟเวอร์และสร้างชุดใหม่สำหรับ github? การเพิ่มพวงกุญแจหมายถึงอะไร ฉันจะใส่ไว้ในไฟล์. pem ที่ฉันดาวน์โหลดเมื่อตั้งค่า AMI หรือไม่ โปรดดูรายละเอียดเพิ่มเติมอีกเล็กน้อย
zac

@zac Computist ได้อธิบายสิ่งที่ฉันหมายถึง
Sathyajith Bhat

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