ในกรณีที่คุณใช้ URL ของ SSH แต่ก็ยังถูกถามถึงชื่อผู้ใช้และรหัสผ่านเมื่อกด git:
git remote set-url origin git@github.com:<Username>/<Project>.git
คุณควรลองแก้ไขปัญหาด้วย:
ssh -vT git@github.com
ด้านล่างเป็นชิ้นส่วนของเอาต์พุตตัวอย่าง:
...
debug1: Trying private key: /c/Users/Yuci/.ssh/id_rsa
debug1: Trying private key: /c/Users/Yuci/.ssh/id_dsa
debug1: Trying private key: /c/Users/Yuci/.ssh/id_ecdsa
debug1: Trying private key: /c/Users/Yuci/.ssh/id_ed25519
debug1: No more authentication methods to try.
Permission denied (publickey).
จริง ๆ แล้วฉันได้เพิ่มคีย์สาธารณะใน GitHub มาก่อนและฉันยังมีรหัสส่วนตัวในเครื่องด้วย /c/Users/Yuci/.ssh/github_rsa
อย่างไรก็ตามคีย์ส่วนตัวของฉันคือชื่อเรียกที่แตกต่างกัน
จากตัวอย่างผลลัพธ์ Git พยายาม/c/Users/Yuci/.ssh/id_rsa
ซึ่งฉันไม่มี ดังนั้นฉันสามารถคัดลอกgithub_rsa
ไปที่id_rsa
ในไดเรกทอรีเดียวกัน
cp /c/Users/Yuci/.ssh/github_rsa /c/Users/Yuci/.ssh/id_rsa
ตอนนี้เมื่อฉันวิ่งssh -vT git@github.com
อีกครั้งฉันมี:
...
debug1: Trying private key: /c/Users/Yuci/.ssh/id_rsa
debug1: Authentication succeeded (publickey).
...
Hi <my username>! You've successfully authenticated, but GitHub does not provide shell access.
...
และตอนนี้ฉันสามารถกดไปที่ GitHub ได้โดยไม่ต้องขอชื่อผู้ใช้และรหัสผ่าน :-)
https://github...
ในรีโมท พวกเขาควรทำตามgit@github...
รูปแบบ