การรับรองความถูกต้องล้มเหลวในการ bitbucket


91

ฉันพยายามผลักดันโครงการของฉันผ่านโปรโตคอล https บน bitbucket โดยใช้ sourcetree
แต่ฉันไม่สามารถเชื่อมต่อกับ bitbucket ด้วยข้อมูลเข้าสู่ระบบและรหัสผ่านของฉัน (ซึ่งใช้ได้กับเว็บไซต์) ฉันมีข้อผิดพลาดร้ายแรง: "การตรวจสอบสิทธิ์ล้มเหลว"

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


13
เปลี่ยนที่อยู่ต้นทางระยะไกลจาก https ( เช่น: https: // <username> @ bitbucket.org / <username> / <repo> .git ) เป็น ssh ( เช่น git@bitbucket.org: <user> / <repo> คอมไพล์ ) คุณจะพบที่อยู่เหล่านี้ทางด้านขวาของเพจที่เก็บของคุณ ( git remote set-url origin git@bitbucket.org: <user> / <repo>
.git

สิ่งนี้ควรถูกทำเครื่องหมายว่าเป็นคำตอบ
ronnyfm

ยังไม่มีวิธีแก้ปัญหา? (ฉันสมมติโดยมองว่าไม่มีคำตอบที่ยอมรับ)
Talha

ลบชื่อผู้ใช้เริ่มต้นและรหัสผ่านที่บันทึกไว้มันใช้ได้กับฉันด้วยปัญหาที่คล้ายกัน Tools> Options> Authentication
NoamG

สิ่งนี้เกิดขึ้นกับฉันเมื่อเซิร์ฟเวอร์การตรวจสอบสิทธิ์ระยะไกลหยุดทำงาน หากเป็นเช่นนั้นก็ไม่สามารถทำอะไรได้นอกจากการกระทำในพื้นที่และอดทน
Cameron Donahue

คำตอบ:


123

หากคุณประสบปัญหาการตรวจสอบสิทธิ์กับคอนโซล GIT คุณสามารถลองเปลี่ยนการกำหนดค่าของคุณเป็น HTTPS และระบุผู้ใช้และรหัสผ่านด้วยคำสั่งต่อไปนี้:

https://<username>:<password>@bitbucket.org/<username>/<repo>.git

แต่ระวัง: กลับมาที่คำตอบนี้ที่ฉันทำไว้เมื่อนานมาแล้วฉันต้องการให้เครดิตกับ @ChristopherPickslay เพื่อชี้ให้เห็นว่ารหัสผ่านถูกเก็บไว้เป็นข้อความที่ชัดเจนใน.git/configไฟล์

หากคุณต้องการม้วนด้วย HTTPS คุณสามารถจัดเก็บรหัสผ่านของคุณอย่างปลอดภัยด้วย Git credential manager

แต่โดยส่วนตัวแล้วตอนนี้ฉันใช้การตรวจสอบสิทธิ์ SSH เสมอเพราะดูเหมือนว่าจะเป็นแนวทางปฏิบัติที่ดีกว่าเพราะคุณใช้คีย์สาธารณะ / ส่วนตัวคู่ส่วนตัวซึ่งจะป้องกันไม่ให้เก็บรหัสผ่านของคุณไว้ภายนอก นอกเหนือจากข้อเท็จจริงที่คุณสามารถใส่ข้อความรหัสผ่านลงบนคีย์ของคุณได้แล้วคุณยังต้องเก็บรหัสผ่านไว้ในตัวจัดการข้อมูลรับรองหรือ ssh-agent


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

2
ฉันรู้ว่ามันไม่ได้สุ่ม แต่ไม่ตอบคำถาม หากคุณแก้ไขคำตอบของคุณเพื่อระบุการตรวจสอบสิทธิ์ SSH ด้วยฉันยินดีที่จะลบการลงคะแนนของฉัน :)
แดน

19
กำลังยกเลิกการโหวตลง สิ่งนี้ช่วยแก้ปัญหาของฉันได้ ฉันไม่ต้องการโซลูชัน ssh สแต็คคำถามล้นไม่ได้อยู่ในสุญญากาศ คำตอบที่เป็นประโยชน์คือคำตอบที่มีประโยชน์
funroll

11
git remote set-url origin https://<username>:<password>@bitbucket.org/<username>/<repo>.gitนอกจากนี้ยังสังเกตคำสั่งเฉพาะที่ผมใช้เป็น
funroll

22
สิ่งนี้ทำให้รหัสผ่านของคุณเป็นข้อความที่ชัดเจนในไฟล์. git / config ของคุณ
Christopher Pickslay

47

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

สำหรับฉันเราใช้ SourceTree และ Stash ในสภาพแวดล้อมขององค์กร บัญชีผู้ใช้จะขึ้นอยู่กับข้อมูลรับรองของเครือข่าย ส่วนหนึ่งของการรักษาความปลอดภัยเครือข่ายของเราทำให้เราต้องเปลี่ยนรหัสผ่านเหล่านั้นเป็นประจำ

ฉันดำเนินการภายใต้สมมติฐานว่า SourceTree / Stash "ทราบ" ถึงการเปลี่ยนแปลงใด ๆ ที่เกิดขึ้นกับรหัสผ่านเครือข่ายของฉัน แต่เห็นได้ชัดว่า - อย่างน้อยก็ในกรณีนี้ - มันไม่ใช่

ในการแก้ไขสิ่งที่ฉันต้องทำคือ:

เครื่องมือ> ตัวเลือก> การรับรองความถูกต้อง> แก้ไข (แก้ไขรหัสผ่าน)

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

ไม่แน่ใจว่าสิ่งนี้ช่วย OP หรือไม่ แต่ฉันหวังว่ามันอาจช่วยให้คนอื่นมองหาคำตอบสำหรับปัญหาที่คล้ายกัน


ฉันใช้ SourceTree + Bitbucket แต่ไม่ได้อยู่ในสภาพแวดล้อมขององค์กร (เช่นข้อมูลประจำตัวของ Bitbucket เฉพาะ) และการเปลี่ยนรหัสผ่านผ่านวิธีการที่แนะนำได้ผล ขอบคุณ :)
Steve Wilford

8
ฉันไม่พบสิ่งใดเลยเช่น 'Tools', 'Options', 'Authentication' หรือ 'Edit password' ใน SourceTree .. ฉันใช้ Mac
Sti

1
ผู้ใช้ @Sti Mac ต้องไปที่ Preferences ภายใต้เมนู SourceTree (แทนเมนู Tools / Options)
BrendanSimon

สำหรับผู้ใช้ Mac: ไปที่ SourceTree -> การตั้งค่า -> บัญชีเลือกบัญชีคลิกแก้ไขจากนั้นคลิกเชื่อมต่อบัญชีและเข้าสู่ระบบด้วยบัญชี Atlassian ของคุณที่นั่น
Vladimir Grigorov

23

เครื่องมือ -> ตัวเลือก -> คอมไพล์และการเลือก 'ใช้ระบบคอมไพล์' ทำให้ฉันรู้สึกมหัศจรรย์


4
'SourceTree> Preferences> Git' บน OSX
Tbadams

22

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

พบโซลูชันด้านบนในลิงค์นี้: https://cmatskas.com/how-to-update-your-git-credentials-on-windows/


1
เฉพาะสำหรับ Windows 10: Control Panel -> User Account -> Credential Manager -> Manage Windows Credentials
William Hou

16

ฉันแก้ไขปัญหาโดยแก้ไขค่าที่เก็บไว้ในOS X Keychain : ฉันมองหา"bitbucket"(เป็นรหัสผ่านของแอปพลิเคชัน ) และเปลี่ยนค่า

จากนั้นในSourcetreeเมื่อฉันพยายามที่จะผลักดันฉันต้องป้อนรหัสผ่านใหม่โดยตรง


2
การลบพวงกุญแจนั้นช่วยฉันได้เพราะมันทำให้แผนผังต้นทางขอรหัสผ่านใหม่
Novomanish

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

11

ปัญหาได้รับการแก้ไขสำหรับฉันหลังจากเปลี่ยนรหัสผ่านที่เก็บโดยไม่ใช้อักขระพิเศษ (! "§ $% &&)

เห็นได้ชัดว่าอินเทอร์เฟซเว็บของ win-credential-store และ git และ bitbucket ใช้การเข้ารหัสอักขระที่แตกต่างกัน

ขั้นตอนที่สมบูรณ์:

D:\shared\Project> cd /path/to/your/project
D:\shared\Project> git init
D:\shared\Project> git remote add origin https://bitbucket.org/USERNAME/project.git
D:\shared\Project> git-credential-winstore.exe

แล้ว

D:\shared\Project> git push
Failed to erase credential: Element not found
fatal: Authentication failed for 'https://bitbucket.org/USERNAME/project.git/'

หลังจากเปลี่ยนข้อความรหัสผ่าน:

D:\shared\Project> git push
Counting objects: 102, done.
Delta compression using up to 8 threads.
... etc. ...

การตั้งค่าใน Windows tresory:

address: git:bitbucket.org (remeber the preceding "git:")
user: USERNAME
pass: old incl!"§§$%&, new without!"§$%%&/( (your passphrase!)

ในทำนองเดียวกันฉันต้องเปลี่ยนชื่อผู้ใช้ของฉันเป็นบางอย่างโดยไม่มีขีดล่าง
Overlord Zurg

1
ว้าว. ที่เกินความโง่เขลาทางอาญา ดูเหมือนว่าเราจะรู้ว่ารหัสผ่านบัญชี Atlasian bitbucket ทั้งหมดไม่มีสัญลักษณ์อะไร ฮึ
deweydb

8

เมนูเริ่มต้นของ Windows ค้นหาตัวจัดการข้อมูลประจำตัวของ windows ค้นหา bitbucket url ลองอัปเดตรหัสผ่านที่นั่น .. และดำเนินการคอมไพล์อีกครั้ง มันควรจะทำงาน


นี่เป็นวิธีแก้ปัญหาในกรณีของฉัน ฉันใช้ Windows-7 และมีการเปลี่ยนรหัสผ่านล่าสุด ข้อมูลประจำตัวที่แคชไว้สำหรับเซิร์ฟเวอร์ bitbucket ล้าสมัยใน Credentials Manager
Brett

True, Windows credential manager จัดเก็บรหัสผ่านและรายละเอียด ปัญหาเกิดจากแคช ดังนั้นควรตรวจสอบรหัสผ่านในตัวจัดการข้อมูลรับรองเสมอ
Pankaj Chauhan


4

ผมมีปัญหาเดียวกัน. มีบางอย่างเกี่ยวข้องกับบั๊กใน Git สำหรับ Windows สำหรับฉันมันเพียงพอแล้วที่จะเปลี่ยน Git ที่ใช้ใน SourceTree เป็นแบบฝัง:

Tools -> Options -> Git แล้วคลิกปุ่ม 'Use Embedded Git'


4

Tools> Options> Use System Gitจากนั้นเลือกgit.exeไฟล์

ป้อนคำอธิบายภาพที่นี่

จะต้องใช้ข้อมูลรับรองอีกครั้งและปัญหาจะได้รับการแก้ไข


ใครสามารถให้รายละเอียดว่าเหตุใดจึงได้ผล
Scope Creep

3

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

ป้อนคำอธิบายภาพที่นี่

ฉันลองทุกอย่างที่อยู่ในใจเช่น:

  1. เปิดใช้งานและปิดใช้งาน MFA (Multi Factor Authentication)
  2. สร้างรหัสผ่านแอป (อีกครั้งโดยเปิดใช้งาน MFA และไม่เปิดใช้งาน)

ไม่ว่าฉันจะใช้เครื่องมืออะไร (รวมถึง SourceTree) ก็ไม่ได้ผล เซิร์ฟเวอร์กลับมาเรื่อย ๆ : "สร้างรหัสผ่านสำหรับแอป"

โดยทั่วไปคุณต้อง

  1. ใช้ url รวมถึงชื่อผู้ใช้ (เช่นhttps: //myusername@bitbucket.org/ .. )
  2. ใช้รหัสผ่านของแอปที่สร้างใน bitbucket

จะดีมากถ้าเซิร์ฟเวอร์จะส่งคืนสิ่งนี้ในการตอบสนองแทนที่จะแนะนำให้ใช้รหัสผ่านแอพ ...


3

สำหรับMac ผู้ใช้ มีการตั้งค่าบัญชีเริ่มต้นบนโครงสร้างแหล่งที่มาซึ่งไม่อนุญาตให้ฉันโคลน URL เนื่องจาก URL ปัจจุบันของฉันมาจากบัญชี bitbucket อื่น ดังนั้นมันแสดงพา ธ ต้นทางที่ไม่ถูกต้องจากนั้นฉันคลิกที่ตัวเลือกขั้นสูงและพบว่าการพิสูจน์ตัวตนล้มเหลวใน your_clone_url ทำตามขั้นตอนต่อไปนี้

  1. เลือกแผนผังแหล่งที่มา ไปที่เมนู SourceTree -> เลือกการตั้งค่า
  2. มันจะแสดงหน้าต่างบัญชี จากนั้นเลือกบัญชี ป้อนคำอธิบายภาพที่นี่

ที่นี่จะแสดงรายการบัญชีที่เพิ่มของคุณ เพียงคลิกที่ปุ่มเพิ่มจากด้านล่างและเพิ่มรายละเอียดบัญชี bitbucket ใหม่ของคุณ จะแสดงรายการบัญชีของคุณภายใต้แท็บบัญชี คุณยังสามารถตั้งค่าบัญชีเริ่มต้นได้โดยคลิกที่ปุ่มSet Default ..จากด้านล่าง ตอนนี้ทั้งหมดเสร็จสิ้นแล้ว


2

หากคุณสร้างบัญชีโดยใช้ google / oauth อื่น ๆ คุณต้องตั้งรหัสผ่าน bitbucket สำหรับบัญชีของคุณก่อน URL สำหรับสิ่งนั้นคือ: https://bitbucket.org/account/user/ / หรือค้นหาการตั้งค่า Bitbucket ในเมนู

จากนั้นสามารถเข้าสู่ระบบจาก git (ฉันพยายามผ่านบรรทัดคำสั่ง) ฉันใช้ตัวจัดการในตัวสำหรับข้อมูลรับรอง:

credential.helper = ผู้จัดการ

ตอนนี้หลังจากที่ฉันตั้งรหัสผ่านบนไซต์ bitbucket แล้ว (ยืนยันอีเมลแล้วด้วย) และพยายามกดอีกครั้งระบบจะแจ้งให้ฉันป้อนรหัสผ่านจากนั้นจึงกดรหัส

รูปภาพตำแหน่งเมนูบนหน้าเว็บ bitbucket -> http://ctrlv.in/747291ณ เดือนพฤษภาคม 2559


2

ผมมีปัญหาเดียวกัน. คุณต้องไปและเพิ่มรหัสผ่านแอปสำหรับ sourcetree ในการตั้งค่า bitbucket ของคุณ คลิก "การตั้งค่า Bitbucket" ในเมนูรหัสผ่านสำหรับแอปสร้างรหัสผ่านสำหรับแอป จากนั้นไปที่ SourceTree และแก้ไขรหัสผ่านที่คุณบันทึกไว้


1
  • ภายใน บริษัท แต่จะจัดขึ้นจริงทุกที่
    • ออกจากระบบ Bitbucket (ในกรณีที่คุณใช้งาน)
    • เข้าสู่ระบบด้วยข้อมูลประจำตัวของคุณ
    • กลับไปที่คอนโซล
    • เริ่มคำสั่งเดียวกัน
    • มันจะถามรหัสผ่าน - ระบุ
    • คุณพร้อมที่จะไป

1

ปัญหานี้เกิดขึ้นเนื่องจากรหัสผ่านของบัญชี git และพีซีของคุณอาจแตกต่างกัน ดังนั้นรวมชื่อผู้ใช้ของคุณตามที่แสดงในตัวอย่างด้านล่าง:

https://myusername@bitbucket.org/...

https: //devi@bitbucket.org/...


1

คำตอบที่ล้าสมัย - ได้รับการยืนยันเมื่อวันที่ 17 พฤศจิกายน 2020


ใน Mac ฉันต้องไปที่Preferences > Accountsจากนั้นเพิ่มบัญชีใหม่เป็นBitbucket Serverและป้อน URL เซิร์ฟเวอร์ bitbucket ของ บริษัท ของฉัน จากนั้นฉันต้องเลือกHTTPSเป็นโปรโตคอลและป้อนชื่อผู้ใช้ของฉัน (ไม่มี @ อีเมล) และรหัสผ่าน

นอกจากนี้ฉันยังตั้งค่าบัญชีใหม่นี้เป็นบัญชีเริ่มต้นโดยคลิกSet Default...ปุ่มที่ด้านล่างของPreferences > Accountหน้า


0

ข้างต้นไม่ได้ผลสำหรับฉัน - ปัญหาอยู่ในการตั้งค่า Sourcetree ของฉัน ในแท็บเครือข่ายฉันมีการตั้งค่าสำหรับ 'ชื่อผู้ใช้เริ่มต้นสำหรับ URL ที่ไม่มีหนึ่งรายการ:' ชื่อผู้ใช้ไม่ถูกต้องซึ่งฉันได้ป้อนไม่ถูกต้องก่อนหน้านี้ - ฉันตั้งเป็นอีเมลของฉันแทนที่จะเป็นชื่อผู้ใช้ ฉันไฮไลต์รายการและคลิกลบสำหรับทั้งสอง จากนั้นฉันกลับไปที่หน้าที่เก็บของฉันแล้วคลิกพุชอีกครั้ง ในการผลักดันมันถามฉันถึงชื่อผู้ใช้และรหัสผ่านแบบเต็มซึ่งฉันสามารถป้อนได้อย่างถูกต้อง - ในที่สุดการพุชก็ใช้งานได้


0

ปัญหาสำหรับฉันคือฉันไม่ได้เพิ่มบัญชีลงใน Sourcetree

การเพิ่มบัญชีทำให้ฉันสามารถส่งไปที่ repo ของฉันได้:

เครื่องมือ> ตัวเลือก> การพิสูจน์ตัวตน> เพิ่ม> รีเฟรชโทเค็น OAuth

ป้อนคำอธิบายภาพที่นี่


0

ฉันลองใช้วิธีแก้ปัญหาเกือบทั้งหมดแล้ว

สิ่งที่ได้ผลสำหรับฉันคือฉันเปิด GIT GUI และพยายามที่จะพุช ซึ่งขอข้อมูลรับรองให้ป้อนรหัสผู้ใช้และรหัสผ่านที่ถูกต้องมันจะเริ่มทำงานอีกครั้ง


0

ฉันใช้คำสั่งด้านล่าง

git clone -b branch-name https://<username>@bitbucket.org/<repository>.git

ปัญหาได้รับการแก้ไขหลังจากเพิ่มรหัสผ่านด้วยชื่อผู้ใช้ (ดูคำสั่งด้านล่าง):

git clone -b branch-name https://<username>:<password>@bitbucket.org/<repository>.git


0

ฉันประสบปัญหาเดียวกันเมื่อมีการรีเซ็ตรหัสผ่านสำหรับโดเมน ฉันลองทำเกือบทุกขั้นตอนใน
(Tools> Options> Authentication) แต่ไม่มีอะไรทำงาน ในที่สุดฉันได้รับคำตอบด้านล่างจากหน้าชุมชน atlassian และใช้งานได้

สิ่งเดียวที่ใช้ได้ผลสำหรับฉันคือไปที่ C: \ Users \ USERNAME \ AppData \ Local \ Atlassian \ SourceTree และลบไฟล์ passwd

เมื่อไฟล์นั้นถูกลบฉันก็แค่กด "Push" และในที่สุดมันก็ถามรหัสผ่านของฉัน

https://community.atlassian.com/t5/SourceTree-questions/How-to-update-HTTP-S-credentials-in-sourcetree/qaq-p/297564

https://community.atlassian.com/t5/Sourcetree-questions/Getting-quot-fatal-Authentication-failed-for-quot-error/qaq-p/624663


0

ฉันได้รับข้อผิดพลาดนี้โดยใช้ Azure DevOps แม้ว่าฉันจะได้เพิ่มโทเค็นการเข้าถึงส่วนบุคคลตามตัวอย่างที่แสดง

ป้อนคำอธิบายภาพที่นี่

แก้ไขได้โดยเรียกใช้git pull -vจากเทอร์มินัล Sourcetree และเพิ่ม Personal Access Token อีกครั้งผ่านที่นั่น

ป้อนคำอธิบายภาพที่นี่


0

ฉันกำลังลองใช้การgit push --all bitbucketโทรและมีการส่งคืน "ร้ายแรง: การตรวจสอบสิทธิ์ล้มเหลวสำหรับการตอบกลับ" https: // ... " วิธีแก้ปัญหาที่ได้ผลสำหรับฉันคือเปลี่ยนคำสั่งเป็น:

git push --all https://{username}@{url}

ใน Windows สิ่งนี้จะปรากฏขึ้นในกล่องโต้ตอบที่อนุญาตให้ฉันป้อนรหัสผ่านของฉันและการกดใช้งานได้

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