การตรวจสอบสิทธิ์ล้มเหลวสำหรับ https://xxx.visualstudio.com/DefaultCollection/_git/project


111

ฉันพยายามใช้คอมไพล์เพื่อพุชที่เก็บของฉันไปยังโปรเจ็กต์บริการทีมวิชวลสตูดิโอ แต่ฉันได้รับข้อผิดพลาด:

fatal: Authentication failed for (url of team project)

ฉันใช้คำสั่ง:

git remote add origin
     https://XXXXXXX.visualstudio.com/DefaultCollection/_git/project

git push -u origin -–all

มีความคิดเกี่ยวกับการแก้ไขปัญหานี้หรือไม่?


1
คุณตรวจสอบสิทธิ์อย่างไร โทเค็นการเข้าถึงส่วนบุคคล? ข้อมูลรับรองการเข้าถึงทางเลือก?
Daniel Mann

คำตอบ:


217

ฉันมีปัญหาเดียวกันเมื่อเร็ว ๆ นี้ (visual studio 2017 และ Windows 10) และแก้ไขโดยใช้วิธีต่อไปนี้:

Control Panel -> Credential Manager -> Manage Windows Credentials -> เลือกรายการของที่เก็บ git และแก้ไขผู้ใช้และรหัสผ่าน

เสร็จแล้ว


1
ฉันใช้วิธีนี้เมื่อโทเค็นการเข้าถึงส่วนบุคคลของฉันหมดอายุ ไปที่ <<URL>> / _ usersSettings / tokens เพื่อสร้างใหม่จากนั้นตั้งเป็นรหัสผ่านใน Credential Manager
แม้แต่เมี่ยน

พระเจ้า .... ขอบคุณ. นี่เป็นทางออกเดียวที่ใช้ได้ผลสำหรับฉัน
Dominik Žulovec Sajovic

34

หากคุณต้องการใช้ GIT CLI และไม่โต้ตอบกับบิลด์ใน GIT wrapper ใน Visual Studio คุณต้องเปิดใช้งานข้อมูลรับรองการพิสูจน์ตัวตนสำรอง

อย่างไร?

Open your account (VS Online account) 
-> click on your name on the top right 
-> My Profile
-> Credentials.

และตั้งค่า


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

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


4
ความปลอดภัยเป็นรายการแยกต่างหากในเมนูตอนนี้ หากคุณคลิกโปรไฟล์จะไปยังหน้าที่แตกต่างกันมาก
Lukos

2
อาจแตกต่างกันไปในแต่ละรุ่น นี่คือเหตุผลที่ฉันเพิ่มภาพหน้าจอ
CodeWizard

1
ฉันไม่ต้องทำเช่นนี้ การใช้ PAT สำหรับ Git Bash ดูเหมือนจะใช้งานได้ดี
Josh Gust

1
โปรดใช้ PAT แทนข้อมูลรับรองอื่น
Edward Thomson

1
ไม่แนะนำให้เปิดใช้งานข้อมูลรับรองสำรอง: การส่งข้อมูลรับรองโดเมนเป็นข้อความที่ชัดเจนและอาจสิ้นสุดในบันทึกระดับ IIS ของแอปพลิเคชัน
Giulio Vian

32

ฉันประสบปัญหาเดียวกัน หน้าต่างแสดงข้อผิดพลาดมีลักษณะดังนี้: การรับรองความถูกต้องล้มเหลวรูปภาพ

ทำตามขั้นตอนเพื่อแก้ไขปัญหา:

  1. ไปที่ Control Panel -> Credential Manager -> Windows Credentials
  2. ด้านล่าง Generic Credential เลือกรายการ git & update password

    หน้าต่างโซลูชัน

  3. รหัสผ่านควรเหมือนกับรหัสผ่านเข้าสู่ระบบ windows (ระบบ)


17

ตัวเลือกที่ดีที่สุดในวันนี้คือการติดตั้งhttps://github.com/Microsoft/Git-Credential-Manager-for-Windowsที่รองรับ VSO, GitHub และกำลังปรับปรุงทุกเดือน


2
@dotnetdev โปรดยอมรับคำตอบนี้เนื่องจากเป็นวิธีที่แนะนำในการแก้ไขปัญหา
Deilan

1
สิ่งนี้สามารถใช้ได้กับ Mac และ Linux ที่github.com/Microsoft/Git-Credential-Manager-for-Mac-and-Linux - ทำงานได้อย่างสมบูรณ์แบบสำหรับฉันโดยไม่ต้องเพิ่ม "ข้อมูลรับรองทางเลือก" ที่มีความปลอดภัยน้อย
Breeno

1
นี่คือโซลูชัน "โดยพฤตินัย" ที่ไมโครซอฟท์มีให้ วิธีแก้ปัญหาอื่น ๆ ที่ใช้ได้จริงที่นี่จะถือว่าเป็นการปรับแต่ง
Stephane

11

ด้วย VSTS url คือเมื่อคุณคัดลอก git clone url จาก vsts คุณจะได้รับเสมอ

https: // orgname @ dev.azure.com / org / project / _git / repo

แทนที่orgname @ด้วยชื่อผู้ใช้อื่นที่คุณจะสร้างในVSTS -> profile -> Security

git url สุดท้าย -

https: // alternateusername @ dev.azure.com / org / project / _git / repo


9

ฉันมีปัญหาเดียวกันฉันพยายามอัปเดตรหัสผ่านโดยใช้ตัวจัดการข้อมูลประจำตัวของ windows แต่ก็ยังไม่สามารถแก้ไขปัญหาได้

Control Panel -> Credential Manager -> Manage Windows Credentials -> เลือกรายการของที่เก็บ git และแก้ไขผู้ใช้และรหัสผ่าน

จากนั้นฉันลบรายการที่เกี่ยวข้องกับคอมไพล์ทั้งหมดในตัวจัดการข้อมูลรับรองจากนั้นลองใช้ Git โดยใช้ Visual Studio คราวนี้ได้รับแจ้งให้มีข้อมูลรับรองใหม่


5

ลบ ".git / config" แล้วลองอีกครั้ง โปรดทราบว่าสิ่งนี้อาจรีเซ็ตการตั้งค่าคอมไพล์บางอย่างด้วย!

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

ในที่สุดฉันพบว่ามีไฟล์ชื่อ ".git / config" อยู่ที่รูทของ Repo ของฉัน ฉันลบไฟล์นี้และพิมพ์ข้อมูลรับรองอีกครั้งมันใช้งานได้


3

ทันใดนั้นฉันก็เริ่มได้รับข้อผิดพลาดนี้เมื่อพยายามพุชการเปลี่ยนแปลงจาก VS2017 เป็นที่เก็บ VSTS Git ฟังก์ชันนี้ใช้งานได้เมื่อวันก่อน

ฉันตรวจสอบไฟล์ git.log ของฉันและเห็นข้อยกเว้นอื่น: -

19: 43: 57.116665 ... zureAuthority.cs: 184 trace: เซิร์ฟเวอร์ [ValidateCredentials] ส่งคืน: 'ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ระยะไกล

ฉันดาวน์โหลดแหล่ง Git CredentialManager ล่าสุดจากrepo Gits Credential Managerและดีบัก

เมื่อตรวจสอบสิทธิ์แล้วจะเกิดข้อยกเว้นต่อไปนี้: -

ไม่สามารถทำการเชื่อมต่อได้เนื่องจากเครื่องเป้าหมายปฏิเสธอย่างแข็งขัน 127.0.0.1:8888

จากนั้นฉันก็รู้ว่าฉันเพิ่งตั้งค่า Fiddler ให้ทำหน้าที่เป็นพร็อกซีสำหรับบริการทั้งหมดตามบทความที่รวบรวมการรับส่งข้อมูลจาก. net-services-with-fiddler

เมื่อฉันวิ่ง Fiddler ฉันสามารถเชื่อมต่อได้สำเร็จ


3

วิธีแก้ปัญหาของฉันแตกต่างและเร็วขึ้นเล็กน้อย :)

  1. ไปที่ Windows Credentials (Start-> Windows Credentials) และลบข้อมูลประจำตัวสำหรับที่เก็บของคุณ (เริ่มต้นด้วย git: xxx)
  2. ไปที่ VSCode และใน Terminal เขียน:

    config credential.helper wincred

  3. ไปที่ Visual Studio (ไม่มี VSCode) และทำการดึงคอมไพล์ ป๊อปอัปจะแสดงการขอข้อมูลรับรอง ใส่ข้อมูลรับรองของคุณสำหรับ repo

  4. ไปที่ VSCode แล้วทำการดึงคอมไพล์ ข้อมูลรับรองจะถูกดึงโดยอัตโนมัติจากร้านค้าที่ได้รับรางวัล

ข้อมูลรับรองจะถูกสร้างและเก็บไว้ใน wincredential โดยอัตโนมัติดังนั้นในครั้งต่อไปที่คุณไม่ถูกขอข้อมูลรับรอง (นอกจากนี้โทเค็นการเข้าถึงส่วนบุคคลจะได้รับจาก visualstudio.com หากคุณใช้ DevOps ที่โฮสต์ git repo)


Start-> Windows Credentials ทำงานได้อย่างมีเสน่ห์! ขอบคุณ!
Highriser

3

สำหรับผู้ใช้ Linux ที่ไม่สามารถใช้ Microsoft Credential Manager นี่เป็นทางออกเดียวที่ฉันพบนอกเหนือจากการใช้ ssh คุณต้องสร้างหนังสือรับรองในมุมมองที่เก็บ (ดูภาพด้านล่าง) รับข้อมูลรับรองคอมไพล์

และผลลัพธ์คือ: รับผลลัพธ์ข้อมูลรับรอง Git

คัดลอกรหัสผ่าน!. Azure devops ไม่ได้จัดเก็บมันและคุณจะไม่สามารถมองเห็นได้อีก!

หมายเหตุ: ในปี 2020 ข้อมูลรับรองสำรองถูกปิดใช้งานตรวจสอบบล็อกของ Microsoft


1

ฉันได้ลองตัวเลือกมากมาย แต่สิ่งที่เหมาะกับฉันคือ:

  1. ดาวน์โหลด Git Password Manager จากส่วน Releases

  2. พยายามทำอย่างง่ายgit fetchซึ่งจะนำหน้าต่างมาโดยอัตโนมัติ (เช่นทางเลือกอื่นเป็นหน้าต่างเริ่มต้น) และขอให้ป้อนชื่อผู้ใช้และรหัสผ่าน แต่ด้วยวิธีที่หรูหรากว่าแบบมาตรฐาน

หลังจากป้อนข้อมูลรับรองอย่างถูกต้องมันใช้งานได้แม้ว่าฉันจะได้รับข้อผิดพลาดมาก่อน

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


1

ฉันมีปัญหานี้และคำแนะนำจากเทคโนโลยีที่ Microsoft แก้ไขให้ฉัน:

  • ปิดอินสแตนซ์ทั้งหมดของ Visual Studio
  • เปิดตัวจัดการงานและตรวจสอบว่ามีบริการ TFS กำลังทำงานอยู่หรือไม่ เลือกแต่ละรายการและคลิกที่ End Process Tree
  • เรียกดูโฟลเดอร์ด้านล่างและลบเนื้อหาและโฟลเดอร์ทั้งหมดใน% LocalAppData% \ Microsoft \ Team Foundation {version} \ Cache
  • ไปที่ Control Panel -> User Accounts -> Manage your Credential -> Windows Credential เลือก VSTS URL เพื่อลบออก
  • จากนั้นไปที่ "C: \ Users \ USER NAME \ AppData \ Local \ GitCredentialManager \ tenant.cache" และลบทิ้ง
  • ไปที่ "C: \ Users \ USER NAME \ AppData \ Local.IdentityService" และลบออก


0

สิ่งที่ฉันต้องการคือข้อมูลประจำตัวที่ถูกต้อง ในขณะที่ปรับใช้กับเว็บแอปฉันต้องไปที่ Deployment Center, Deployment Credentials จากนั้นใช้ App Credentials หรือสร้าง User Credentials หลังจากนี้ให้ลบข้อมูลรับรองที่แคชไว้ในเครื่องท้องถิ่น (windows: Control Panel \ User Accounts \ Credential Manager) เรียกใช้ "git push webapp master: master" อีกครั้งป้อน Deployment Credentials สิ่งนี้ได้ผลสำหรับฉัน


0

ในกรณีที่คุณใช้งานอย่างอื่นแล้ว windows และเจ้านายของคุณบังคับให้คุณใช้ azure devops และคุณไม่ต้องการใช้ SSH และคุณต้องการใช้วิธีแบบเดิม ๆ ให้ทำดังต่อไปนี้

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

ไปSecurityที่เมนูบริบทของโปรไฟล์ที่มุมบนขวา

ตั้งค่าความปลอดภัย

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

ตั้งค่าความปลอดภัย


0

2 ถึง 5 นาทีในการตั้งค่า!

  • สร้างคีย์ SSH ของคุณ (~ / .ssh /)

ssh-keygen -C "jamal@fabrikam.com"

  • เพิ่มคีย์สาธารณะใน Azure DevOps Services / TFS
  • โคลนที่เก็บ Git ด้วย SSH

ที่มา


0

หลังจากที่ดิ้นรนกับการตรวจสอบคอมไพล์และ DevOps สีฟ้าของเซิร์ฟเวอร์และพยายามที่คำตอบอื่น ๆ เคล็ดลับนี้ที่นี่ทำงานให้ฉัน

ใช้ Visual Studio? Team Explorer จัดการการรับรองความถูกต้องด้วย Azure Repos ให้คุณ

เมื่อฉันเชื่อมต่อกับ repo โดยใช้ Team Explorer ฉันสามารถใช้บรรทัดคำสั่งเพื่อดำเนินการคำสั่ง git


0

Control Panel -> Credential Manager -> Manage Windows Credentials -> เลือกรายการของที่เก็บ git และแก้ไขผู้ใช้และรหัสผ่าน ลบ '. git / config 'แล้วลองอีกครั้ง โปรดทราบว่าสิ่งนี้อาจรีเซ็ตการตั้งค่าคอมไพล์บางอย่างด้วย!


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