Lỗi git nghiêm trọng: Xác thực không thành công


101

Tôi đang cố gắng sử dụng git để đẩy kho lưu trữ của mình sang một dự án dịch vụ nhóm studio trực quan, nhưng tôi gặp lỗi:

fatal: Authentication failed for (url of team project

Tôi đang sử dụng cmds:

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

git push -u origin -–all

Bất kỳ ý tưởng về sửa chữa cho điều này?

Cảm ơn!


1
Bạn đang xác thực như thế nào? Mã thông báo truy cập cá nhân? Thông tin đăng nhập thay thế?
Daniel Mann

Câu trả lời:


195

Gần đây tôi đã gặp sự cố tương tự (visual studio 2017 & Windows 10) và đã giải quyết nó bằng phương pháp sau:

Bảng điều khiển -> Trình quản lý thông tin xác thực -> Quản lý thông tin đăng nhập Windows -> Chọn mục nhập của kho lưu trữ git và Chỉnh sửa người dùng và mật khẩu.

Làm xong.


1
Tôi đã sử dụng phương pháp này khi Mã truy cập cá nhân của tôi hết hạn. Đi tới <<URL>> / _ usersSettings / tokens để tạo một cái mới và sau đó đặt nó làm mật khẩu trong Trình quản lý thông tin xác thực.
Chẵn Miền

34

Nếu bạn muốn sử dụng GIT CLI và không tương tác với bản dựng trong trình bao bọc GIT trong Visual Studio, bạn cần bật Thông tin đăng nhập xác thực thay thế

Làm sao?

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

và thiết lập nó.


nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây


4
Bảo mật là một mục riêng biệt trong menu bây giờ. Nếu bạn nhấp vào hồ sơ, nó sẽ chuyển đến một trang rất khác.
Lukos

2
nó có thể khác nhau giữa các phiên bản. đây là lý do tại sao tôi đã thêm ảnh chụp màn hình
CodeWizard

1
Tôi đã không phải làm điều này. Sử dụng PAT cho Git Bash dường như hoạt động tốt.
Josh Gust

1
Vui lòng sử dụng PAT thay vì thông tin đăng nhập thay thế.
Edward Thomson,

1
Bật thông tin đăng nhập thay thế không được khuyến nghị: thông tin đăng nhập tên miền chuyển tiếp ở dạng văn bản rõ ràng và có thể kết thúc trong nhật ký Cấp ứng dụng IIS
Giulio Vian

27

Tôi đã phải đối mặt với cùng một vấn đề. Cửa sổ xuất lỗi trông như sau: xác thực không thành công Hình ảnh

Làm theo các bước đã giải quyết vấn đề:

  1. Đi tới Bảng điều khiển -> Trình quản lý thông tin xác thực -> Windows Credentials
  2. Bên dưới Thông tin đăng nhập chung, chọn một mục nhập của mật khẩu git & cập nhật.

    cửa sổ giải pháp

  3. Mật khẩu phải giống mật khẩu đăng nhập windows (hệ thống).


17

Lựa chọn tốt nhất hiện nay là cài đặt https://github.com/Microsoft/Git-Credential-Manager-for-Windows hỗ trợ VSO, GitHub và đang được cải thiện hàng tháng.


2
@dotnetdev Vui lòng chấp nhận câu trả lời này vì đây là cách được khuyến nghị để giải quyết vấn đề.
Deilan

1
Tính năng này cũng có sẵn cho Mac và Linux tại github.com/Microsoft/Git-Credential-Manager-for-Mac-and-Linux - hoạt động hoàn hảo cho tôi mà không cần phải thêm "thông tin đăng nhập thay thế" kém an toàn.
Breeno

1
Đây thực sự là giải pháp "trên thực tế" mà microsoft đã cung cấp. Các giải pháp khác thực sự hoạt động ở đây sẽ được coi là các tinh chỉnh.
Stephane

11

Với VSTS, url là, Khi bạn sao chép git clone url từ vsts, bạn luôn nhận được

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

Thay thế orgname @ bằng tên người dùng thay thế mà bạn đã tạo trong VSTS -> hồ sơ -> Bảo mật.

url git cuối cùng -

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


7

Tôi đã gặp sự cố tương tự, tôi đã cố gắng cập nhật mật khẩu của mình bằng trình quản lý thông tin đăng nhập windows, nó vẫn không khắc phục được sự cố

Bảng điều khiển -> Trình quản lý thông tin xác thực -> Quản lý thông tin đăng nhập Windows -> Chọn mục nhập của kho lưu trữ git và Chỉnh sửa người dùng và mật khẩu.

Sau đó, tôi đã xóa tất cả mục nhập liên quan đến git trong trình quản lý thông tin đăng nhập và sau đó cố gắng sử dụng Git bằng visual studio, lần này nó sẽ nhắc nhập thông tin đăng nhập mới


5

Xóa '.git / config' và thử lại. Chú ý điều này cũng có thể đặt lại một số cài đặt git!

Tôi đã thử các thông tin đăng nhập thay thế và Mã thông báo truy cập cá nhân nhiều lần với thông tin xác thực phù hợp và nó liên tục cho tôi biết "nghiêm trọng: Xác thực không thành công".

Cuối cùng, tôi tìm thấy có một tệp có tên ".git / config" nằm ở thư mục gốc của Repo của tôi. Tôi đã xóa tệp này và nhập lại thông tin đăng nhập của mình, nó hoạt động.


3

Tôi đột nhiên bắt đầu nhận được lỗi này khi cố gắng đẩy các thay đổi từ VS2017 sang kho lưu trữ VSTS Git. Chức năng này đã hoạt động ngày hôm trước.

Tôi đã kiểm tra tệp git.log của mình và thấy một ngoại lệ khác: -

19: 43: 57.116665 ... zureAuthority.cs: 184 trace: Máy chủ [ValidateCredentials] trả về: 'Không thể kết nối với máy chủ từ xa.

Tôi đã tải xuống nguồn Git CredentialManager mới nhất từ repo Gits Credential Manager và gỡ lỗi nó.

Sau khi xác thực, ngoại lệ sau đã xảy ra: -

Không thể thực hiện kết nối vì máy đích đã chủ động từ chối nó 127.0.0.1:8888

Sau đó, tôi nhận ra rằng gần đây tôi đã thiết lập Fiddler để hoạt động như một proxy cho tất cả các dịch vụ theo bài viết capture-traffic-from-.net-services-with-fiddler

Sau khi chạy Fiddler, tôi đã có thể kết nối thành công.


3

Giải pháp của tôi hơi khác một chút và nhanh hơn :)

  1. Đi tới Windows Credentials (Start-> Windows Credentials) và xóa thông tin đăng nhập cho kho lưu trữ của bạn (chúng bắt đầu bằng git: xxx)
  2. Đi tới VSCode và trong Terminal viết:

    config credential.helper wincred

  3. Đi tới Visual Studio (không có VSCode) và thực hiện kéo git. Một cửa sổ bật lên sẽ hiển thị yêu cầu thông tin đăng nhập. Đặt thông tin đăng nhập của bạn cho repo

  4. Đi tới VSCode và thực hiện kéo git. Thông tin xác thực được tìm nạp tự động từ cửa hàng có dây

Thông tin đăng nhập được tạo tự động và lưu trữ trong thông tin đăng nhập có dây, vì vậy, vào lần tiếp theo bạn không thể bị yêu cầu cung cấp thông tin đăng nhập. (cũng sẽ cung cấp Mã thông báo truy cập cá nhân từ visualstudio.com nếu bạn đang sử dụng kho git được lưu trữ DevOps).


Start-> Windows Credentials hoạt động như một sự quyến rũ! Cảm ơn!
Highriser

1

Tôi đã thử rất nhiều tùy chọn, nhưng tùy chọn phù hợp với tôi là:

  1. Tải xuống Trình quản lý mật khẩu Git từ phần Bản phát hành của nó

  2. Cố gắng làm đơn giản git fetchsẽ tự động đưa cửa sổ (thay thế thành cửa sổ mặc định chẳng hạn) và yêu cầu nhập tên người dùng và mật khẩu nhưng với cách trang nhã hơn so với cửa sổ tiêu chuẩn.

Sau khi nhập chính xác thông tin đăng nhập, nó đã hoạt động, mặc dù trước đó tôi đã gặp lỗi.

Tái bút Nếu bạn gặp phải lỗi "Thông tin đăng nhập sai", hãy luôn kiểm tra xem tên người dùngmật khẩu của kho lưu trữ có đúng không. Nếu bạn do dự, chỉ cần đặt lại mật khẩu và thử sử dụng cùng một mật khẩu trong cửa sổ trình quản lý Mật khẩu Git.


1

Tôi gặp sự cố này và hướng dẫn từ kỹ thuật viên của Microsoft đã khắc phục sự cố này cho tôi:

  • Đóng tất cả các phiên bản của Visual Studio.
  • Mở Trình quản lý tác vụ và kiểm tra xem có bất kỳ Dịch vụ TFS nào đang chạy hay không. Chọn từng người trong số họ và nhấp vào Cây kết thúc quy trình.
  • Duyệt đến thư mục bên dưới và xóa tất cả nội dung và thư mục trong% LocalAppData% \ Microsoft \ Team Foundation {version} \ Cache
  • Vào Control Panel -> User Accounts -> Manage your Credential -> Windows Credential, chọn URL VSTS để xóa nó
  • Sau đó, truy cập "C: \ Users \ USER NAME \ AppData \ Local \ GitCredentialManager \ tenant.cache" và xóa nó
  • Đồng thời truy cập "C: \ Users \ USER NAME \ AppData \ Local.IdentityService" và xóa nó

1

Đối với người dùng Linux không thể sử dụng Microsoft Credential Manager. Đây là giải pháp duy nhất tôi tìm thấy ngoài việc sử dụng ssh. Bạn cần tạo thông tin đăng nhập trong chế độ xem kho lưu trữ (Xem hình ảnh bên dưới) lấy thông tin git

Và kết quả là: nhận kết quả thông tin đăng nhập Git

Sao chép mật khẩu !. Azure devops không lưu trữ nó và bạn sẽ không thể xem lại nó!

NB: Kể từ năm 2020, thông tin đăng nhập thay thế đã bị vô hiệu hóa, hãy kiểm tra blog của Microsoft


0

Tất cả những gì tôi cần là thông tin đăng nhập chính xác. trong khi triển khai ứng dụng web, tôi phải truy cập Trung tâm triển khai, Thông tin đăng nhập triển khai. Và sau đó sử dụng Thông tin đăng nhập ứng dụng hoặc tạo Thông tin đăng nhập người dùng. Sau đó, xóa thông tin đăng nhập đã lưu trong bộ nhớ cache trên máy cục bộ (windows: Control Panel \ User Accounts \ Credential Manager). chạy lại "git push webapp master: master", nhập một trong các Thông tin đăng nhập triển khai. Điều này đã làm việc cho tôi.


0

Trong trường hợp bạn đang ở một thứ gì đó khác sau đó cửa sổ và sếp của bạn buộc bạn phải sử dụng azure devops, và bạn không muốn sử dụng SSH và bạn muốn sử dụng theo cách cũ, hãy làm như sau.

Bạn phải bật 'Thông tin đăng nhập thay thế' (tôi biết điều đó thật khó chịu) hoặc bạn cần tạo mã thông báo truy cập. Tạo mã thông báo truy cập trong trường hợp này giống như một mật khẩu ngẫu nhiên tạm thời. Nếu bạn sử dụng công cụ windows thì việc này được thực hiện cho bạn.

Bất kỳ cách nào, hãy truy cập Securitymenu ngữ cảnh hồ sơ ở góc trên bên phải.

Cài đặt hệ thống bảo vệ

Sau đó, nếu sếp / người quản lý / công tử của bạn có quyền quản trị ưu tiên bạn, thì 'Thông tin đăng nhập thay thế' sẽ được bật. Nếu không, hãy chấp nhận số phận của bạn và tạo 'Mã thông báo truy cập cá nhân'.

Cài đặt hệ thống bảo vệ


0

2 đến 5 phút để thiết lập!

  • Tạo khóa SSH của bạn (~ / .ssh /)

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

  • Thêm khóa công khai vào Azure DevOps Services / TFS
  • Sao chép kho lưu trữ Git với SSH

Nguồn


0

Sau khi vật lộn với xác thực git và máy chủ azure devops và thử các câu trả lời khác, mẹo này ở đây đã hiệu quả với tôi.

Sử dụng Visual Studio? Team Explorer xử lý xác thực với Azure Repos cho bạn.

Khi tôi kết nối với repo bằng Team Explorer, tôi có thể sử dụng dòng lệnh để thực hiện các lệnh git.


0

Đi tới Trình quản lý thông tin đăng nhập Windows và cập nhật thông tin đăng nhập cho GIT.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.