GitLab từ xa: HTTP Basic: Truy cập bị từ chối và xác thực gây tử vong


269

Tôi đang trên mac OS không giống như bài đăng này:

Tôi có mật khẩu được cấu hình trong GitLab.

Tôi có khóa SSL được tạo SAU khi dự án được thực hiện trên GitLab.

Khi tôi sử dụng một thư mục hiện có cho một dự án mới và làm theo các bước dưới đây:

Thư mục hiện có

cd existing_folder
git init
git remote add origin https://gitlab.com/sobopla/Geronimod.git
git add .
git commit -m "Initial commit"
git push -u origin master

Tôi được nhắc nhập tên người dùng và mật khẩu GitLab của mình. Sau khi nhập mật khẩu, tôi nhận được:

từ xa: HTTP Basic: Truy cập bị từ chối gây tử vong: Xác thực thất bại cho ' https://gitlab.com/myname/myproject '


Các câu trả lời sau không có tác dụng với tôi..Nếu vẫn có ai gặp phải vấn đề này trong mac ... liên kết này có thể giúp ... stackoverflow.com/questions/17659206/ trên
PALLAMOLLA SAI

Câu trả lời:


536

Nó xảy ra mỗi khi tôi buộc phải thay đổi mật khẩu Windows và không có câu trả lời nào ở trên giúp tôi.

Hãy thử giải pháp dưới đây phù hợp với tôi:

  1. Chuyển đến Trình quản lý thông tin Windows . Điều này được thực hiện trong Windows EN-US bằng cách nhấn Phím Windows và nhập 'thông tin xác thực'. Trong các biến thể Windows được bản địa hóa khác, bạn cần sử dụng thuật ngữ được bản địa hóa (Xem bình luận để biết một số ví dụ).

    Ngoài ra, bạn có thể sử dụng phím tắt control /name Microsoft.CredentialManagertrong hộp thoại chạy (WIN + R)

  2. Chỉnh sửa mục git trong Windows Credentials, thay thế mật khẩu cũ bằng mật khẩu mới.

3
Cảm ơn, điều đó đã làm việc cho tôi là tốt và giải quyết vấn đề. Bạn cần giải pháp này nếu bạn có các tài khoản Github khác trên thiết bị của mình
Dany Wehbe

4
Nó làm việc cho tôi quá mặc dù tôi đang sử dụng nhiều tài khoản gilab vì vậy những gì tôi đã làm tôi cập nhật tất cả các tài khoản gitlab của tôi với cùng một mật khẩu mà tôi có trong Credential Manger của tôi và các vấn đề được giải quyết Cảm ơn @ mpro
Rajan Chauhan

6
Lưu ý: nhập nó vào hệ thống ngôn ngữ của bạn. Rus: "Credential Manager" = "Диспетчер Учетных Данных"
Dyno Cris

2
Câu trả lời chính xác. Điều này đặc biệt là một trường hợp với tài khoản công việc của bạn, nơi bạn phải thay đổi mật khẩu của mình mọi lúc mọi nơi.
geekidharsh

4
Trong tiếng Đức nó là "Anmeldeinformationsverwaltung" và sau đó là "Windows-Anmeldeinformen".
nachtigall

169
   git config --system --unset credential.helper

sau đó nhập mật khẩu mới cho máy chủ từ xa Git.


22
Lưu ý rằng trên Windows, bạn cần chạy nó với tư cách Quản trị viên, nếu không, bạn sẽ gặp lỗi về quyền
Eternal21

6
Nó phụ thuộc vào nơi bạn đặt thông tin của bạn. Nếu lệnh trước không hoạt động, hãy thử sử dụng cờ toàn cầu:git config --global--unset credential.helper
Vincent Lunat

Đây là câu trả lời phù hợp nhất cho OP vì nó giải quyết vấn đề và không tiếp tục với một số tiếp tuyến "trên Windows". Ngoài ra, như một lưu ý phụ, bạn có thể cần chạy lệnh này như sudothể người dùng của bạn không có quyền truy cập/etc
Ghostrydr

git config - quản lý hệ thống cert.rcper, để sử dụng lại thông tin xác thực.
hatanooh

Nếu bạn bỏ đặt trình trợ giúp thông tin xác thực, bạn sẽ phải cung cấp tên người dùng và mật khẩu mỗi lần kết nối với kho GIT. Để khắc phục, bạn có thể thiết lập lại trình trợ giúp bằng cách sử dụng lệnh sau: git config --global cert.rcper store
Tomasz Czechowski

86

Tôi đã nhận được cùng một lỗi và tôi đã giải quyết điều này bằng cách:

  1. Áp dụng lệnh từ cmd (chạy với tư cách quản trị viên)

    git config --system --unset credential.helper

  2. Và sau đó tôi đã xóa tệp gitconfig khỏi C: \ Program Files \ Git \ mingw64 / etc / location (Lưu ý: đường dẫn này sẽ khác trong MAC như "/ Users / username")

  3. Sau đó, sử dụng lệnh git như git pullhoặcgit push , nó hỏi tôi tên người dùng và mật khẩu. áp dụng tên người dùng và mật khẩu hợp lệ và lệnh git làm việc.

Hy vọng điều này sẽ giúp bạn...


11
Nếu bạn gặp lỗi đó, bạn chỉ có thể chạy dấu nhắc lệnh của mình với tư cách Quản trị viên và lỗi sẽ biến mất.
Eternal21

FYI: Chỉ cần đặt lại cấu hình (cmd đầu tiên của bạn) đã hoạt động. Sau đó tôi đã đẩy git và blammo của tôi! Tôi nghĩ rằng bởi vì cửa hàng của tôi yêu cầu thay đổi mật khẩu hàng tháng nên phòng thí nghiệm git nội bộ hoạt động tốt.
yardpenalty.com 15/03/19

1
cũng thử theo cách này với --global git config --global --unset credential.helper
Mike

Điều này đã giải quyết nó cho tôi trên máy Mac
Aditya Vikas Devarapalli

57

Đối với tôi, sau đây làm việc:

Không sử dụng mật khẩu GitLab của bạn, nhưng tạo mã thông báo truy cập và sử dụng nó thay vì mật khẩu của bạn:

  1. Trong GitLab, đi tới Cài đặt > Mã thông báo truy cập
  2. Tạo mã thông báo mới (kiểm tra api )
  3. git nhái ...
  4. Khi bạn được yêu cầu nhập mật khẩu, hãy sao chép và dán mã thông báo truy cập thay vì mật khẩu GitLab của bạn

4
Làm việc cho tôi là tốt!
Christian Ray Leovido

42

Điều duy nhất làm việc cho tôi là sử dụng https://username:Password@gitlab.com/user/projectgitthay vì https://gitlab.com/user/projectgit. Xem https://gitlab.com/gitlab-com/support-forum/issues/1654


1
Câu trả lời tuyệt vời nó hoạt động tốt với tôi vì git của tôi là riêng tư, Cảm ơn bạn
Mohammad H.

Cảm ơn. Mặc dù đối với tôi phải thay thế nó bằng url repo SSL nhưng câu trả lời của bạn khiến tôi phải giúp đỡ. Tôi đã nâng cấp nó.
Muzzamil

Cảm ơn. Tôi không gặp vấn đề như vậy khi sử dụng BitBucket hoặc Github. Với GitLab tôi phải tạo mã thông báo truy cập cá nhân, sau đó sử dụng mã nguồn đó từ xagit remote set-url origin https://usernameHere:personalAccessTokenHere@gitlab.com/usernameHere/projectNameHere
Woppi

37

Chuyển đến Trình quản lý thông tin Windows (nhấn Windows Key và nhập 'thông tin xác thực') để chỉnh sửa mục git trong Thông tin xác thực Windows. Thay mật khẩu cũ bằng mật khẩu mới.

Trình quản lý thông tin Windows


OP là trên macOS, không phải Windows.
Matthieu Brucher

Điều này sẽ không giúp OP, nhưng nó hoạt động như một bùa mê trên hộp dev Windows của tôi.
Tony

27

Tôi cũng đã phải đối mặt với vấn đề tương tự. Lý do của vấn đề là lỗi xác thực. Để giải quyết vấn đề này, hãy truy cập Bảng điều khiển -> Trình quản lý thông tin xác thực -> Thông tin chung ở đây tìm thông tin xác thực gitlab của bạn và chỉnh sửa chúng. Đảm bảo mật khẩu ID của bạn có đúng hay không

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


Điều này đã tạo ra mánh khóe, trong trường hợp của tôi là do công ty buộc chúng tôi phải thay đổi mật khẩu tên miền cứ sau vài tháng. Thay đổi này không cập nhật thông tin đăng nhập trong trình quản lý thông tin xác thực này. Ngay khi tôi cập nhật mật khẩu, nó đã hoạt động.
k4yaman

21

Nếu bạn đang sử dụng git> 2.11 và sử dụng Kerberos để tương tác với Gitlab, bạn cần đặt cấu hình này trong git cục bộ của mình để tránh remote: HTTP Basic: Access deniedlỗi.

$ git config --global http.emptyAuth true

Nguồn


Trường hợp thú vị, với Kerberos. +1
VonC

1
Tôi không sử dụng Kerberos nhưng cảm ơn bạn đã trả lời.
jeancode

Kerberoskhông cần thiết Cảm ơn! git-scm.com/docs/git-config
đóng góp

Sau khi thực hiện cài đặt Git sạch trên Windows sáng nay. Câu trả lời này đã giải quyết lỗi từ chối truy cập cho tôi.
James

Holy cow - Tôi đã xem qua tất cả các đề xuất khác và cuối cùng CUỐI CÙNG cái này đã hoạt động. Quả thực là sử dụng Kerberos!
Bon Crowder tại MathFour

20

Chỉ cần thêm tên người dùng của bạn trước tên miền:

https://**username**@gitlab.com/user/projectgit

Và trợ lý sẽ hỏi bạn mật khẩu


13

Thử cái này:

  1. Đi đến: C:/Users/(YourUserName)/
  2. Xóa tài liệu .gitconfig

12

Mở dấu nhắc lệnh với tư cách quản trị viên, sau đó chạy lệnh này:

git config --system --unset credential.helper

không thể khóa tệp cấu hình C: \ Tệp chương trình \ Git \ mingw64 / etc / gitconfig: Quyền bị từ chối

1
Bạn không sử dụng tập tin cấu hình, chỉ cần mở dấu nhắc lệnh với tư cách quản trị viên và chạy lệnh. Hy vọng điều này sẽ giúp
MD. Shafayatul Haque

12

Nó xảy ra nếu bạn thay đổi thông tin đăng nhập hoặc mật khẩu của tài khoản dịch vụ git (GitHub hoặc GitLab, Bitbacket, v.v.). Bạn cũng cần thay đổi nó trong Windows Credentials Manager.

Vì vậy, hãy nhập " Trình quản lý thông tin xác thực " (rus. "

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


Mặc dù tôi đã không thay đổi người dùng hoặc mật khẩu của mình (đó là thông tin đăng nhập AD), nhưng điều này đã xảy ra với tôi do việc xây dựng lại máy chủ Gitlab và giải pháp trên đã khắc phục lỗi này.
Michael Hafner

11

Lưu ý: không trộn lẫn các cài đặt SSL GitLabcác khóa SSH GitLab .

Nếu những gì bạn đã cấu hình trong hồ sơ GitLab của bạn là khóa công khai SSH, thì URL HTTPS của bạn sẽ không sử dụng nó.

Về thông tin HTTPS của bạn, hãy kiểm tra kỹ:

  • nếu xác thực hai yếu tố bị vô hiệu hóa, hoặc
  • nếu bạn có các ký tự đặc biệt trong tên người dùng hoặc mật khẩu của bạn, hoặc
  • nếu bạn có người trợ giúp thông tin Git : git config credential.helper.

1
- Tôi có một khoảng trống trong tên người dùng của mình vì tôi đã xác thực Gitlab thông qua Github - Tự động hai yếu tố bị vô hiệu hóa - Ý bạn là gì "Nếu tôi có người trợ giúp thông tin Git?
jeancode 18/12/17

@jeancode Ý tôi là: bạn thấy gì khi gõ git config credential.helper: có thể đã lưu các thông tin sai.
VonC

@jeancode Đối với không gian, bạn đã mã hóa phần trăm chưa? ( vi.wikipedia.org/wiki/Percent-encoding#Character_data:% 20)
VonC

Tôi đã không làm gì với khoảng trắng trong tên, khoảng trắng xuất phát từ tên của tôi trong GitHub, mà GitLab đã lấy trong khi đăng nhập xác thực thông qua Github.
jeancode

1
Tôi đã gặp lỗi do cố gắng sử dụng các khóa triển khai trong khi xác thực hai yếu tố được bật. Rõ ràng bạn chỉ có thể sử dụng mã thông báo truy cập cá nhân nếu bật hai yếu tố.
Joshua Dyck

9

Có hai cách tôi gặp phải vấn đề này:

  1. Tôi đã thêm tên người dùng của mình vào phía trước URL từ xa ( https: // tên người dùng @ gitRepoURL )

    • Không phải lúc nào cũng là giải pháp tốt nhất; nơi tôi làm việc, mặc dù chúng tôi đang dần chuyển sang sử dụng GIT, chúng tôi có các ứng dụng của mình trên một ổ đĩa mạng, vì vậy nếu tôi làm điều này, chỉ tôi có thể đẩy các thay đổi ngay cả khi người khác làm việc trên một tính năng.
  2. Tôi không thể chạy git config --system --unset credential.helpertừ GIT Bash, vì vậy tôi phải mở một Dấu nhắc lệnh của quản trị viên và chạy nó ở đó (điều này giả sử bạn đã cài đặt GIT sao cho nó có thể chạy từ cả GIT Bash và Dấu nhắc lệnh). Từ Bash, tôi gặp lỗi "không thể khóa tập tin cấu hình".


để biết thêm thông tin, xem : git config -l. Cũng thử ở trên với --globalthay vì--system
Mike

9

Vâng, tôi đã đối mặt với cùng một vấn đề bất cứ khi nào tôi thay đổi mật khẩu đăng nhập của tôi.

Dưới đây là lệnh tôi cần chạy để khắc phục sự cố này: -

git config --global credential.helper wincred

Sau khi chạy lệnh trên, nó hỏi lại tên người dùngmật khẩu đã cập nhật của tôi .


5

Trong trường hợp của tôi, tôi đã cài đặt lại phiên bản git mới nhất (hiện là 2.16.2). Tôi không biết liệu đó có phải là phiên bản git cũ của tôi đã lỗi thời hay không, nhưng tôi đã đọc trên trang github rằng điều này nên được thực hiện nếu bạn vấp phải lỗi sao chép https. Tôi đoán đó là lỗi nhân bản https vì lỗi tập trung vào HTTP Basic, trong khi GitLab sử dụng HTTPS. Tôi có thể sai trong quá trình suy nghĩ này, nhưng giải pháp đã giúp ích trong trường hợp của tôi và tôi hy vọng điều này sẽ giúp được bất cứ ai trong tương lai!


4

ĐI ĐẾN C:\Users\<<USER>> AND DELETE THE .gitconfig filesau đó thử một lệnh kết nối với ngược dòng như thế nào git clone, git pull or git push. Bạn sẽ được nhắc nhập lại thông tin đăng nhập của bạn. Vui lòng làm như vậy.


4

tôi đã xóa thông tin xác thực gitlab khỏi 'Trình quản lý xác thực' trong windows và đẩy thành công


4

Chuyển đến Bảng điều khiển-> Trình quản lý thông tin xác thực-> Thông tin xác thực Windows chọn thông tin xác thực github hoặc gitlab và sửa đổi nó. Cái này dành cho windows10


3

nó hoạt động với tôi: Tôi sử dụng Mac và tôi đã viết đường dẫn trên công cụ tìm:

~ / Thư viện / Hỗ trợ ứng dụng / SourceTree

Tôi đã xóa tập tin xác thực giống như

yourUserName@STAuth-gitlab.yourAdress

sau đó cố gắng đẩy và kéo mã từ cây nguồn và nó đã hoạt động.

Bạn cũng có thể đọc các câu trả lời sau:

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


2

Nếu bạn đang cố gắng đăng nhập Gitlab bằng tài khoản Git hiện tại của bạn. Bạn cần đặt lại mật khẩu của Gitlab lần đầu tiên.

  1. Bước: Điều hướng đến cài đặt bằng cách nhấp vào biểu tượng hồ sơ của bạn (menu thả xuống ở góc trên bên phải).
  2. Bước: Chuyển đến cài đặt
  3. Bước: Nhấp vào biểu tượng khóa hoặc biểu tượng glyphicon (tức là mật khẩu).
  4. Bước: Nhập mật khẩu mới cho Gitlab.

2

Vì vậy, đối với tôi, vấn đề là tôi đã tạo tài khoản GitLab của mình thông qua liên kết tài khoản GitHub của tôi với nó. Điều này có nghĩa là không có mật khẩu chính thức tồn tại cho tài khoản vì nó được tạo thông qua liên kết nóng giữa GitHub và GitLab. Tôi đã sửa nó bằng cách vào Cài đặt GitLab -> Mật khẩu -> và viết mật khẩu giống như tài khoản GitHub của tôi.


2

Không có giải pháp nào ở trên làm việc cho tôi và tôi không có quyền quản trị trên máy tính xách tay của mình , nhưng cuối cùng chúng đã dẫn tôi đến tài liệu lưu trữ thông tin xác thực công cụ git :

Thiết lập của tôi Windows 10 | phiên bản git 2.18.0.windows.1 | Sao chép qua liên kết HTTPS

Giải pháp này hoạt động nếu bạn sử dụng wincred làm người trợ giúp thông tin xác thực:

> git config --global credential.helper
wincred

Thay đổi trình trợ giúp thành "bộ đệm" sẽ thực hiện thủ thuật, vì nó sẽ yêu cầu bạn cung cấp lại thông tin đăng nhập của bạn. Để đặt nó vào bộ đệm, chỉ cần gõ:

> git config --global credential.helper cache

Kiểm tra cập nhật của bạn đang hoạt động:

> git config --global credential.helper
cache

Bây giờ bạn có thể sao chép / kéo / tìm nạp như trước đây.



1

Tôi đã thử với URL trình duyệt cho kho lưu trữ rồi

git clone $ (browserURL)

nó nhắc tên người dùng và mật khẩu của tôi

Nó hoạt động tốt


1

Khi Trình quản lý thông tin Windows yêu cầu thông tin đăng nhập của bạn để truy cập GitLab, đó là những tên người dùng và mật khẩu bạn sử dụng khi truy cập GitLab. EG: sử dụng email và mật khẩu của bạn.


1

Khi tôi gặp vấn đề tương tự,

Tôi đã giải quyết nó bằng cách xóa tệp "passwd" trong

C:\Users\<USERNAME>\AppData\Local\Atlassian\SourceTree

Sau khi xóa Sourcetree sẽ nhắc nhập mật khẩu.

Note:
OS Version : win10 
Sourcetree Version:  3.1

1

Tôi tin rằng tôi đến muộn một chút. Nhưng tôi nghĩ rằng điều này sẽ giúp peeps mới!

Lỗi của tôi là: từ xa : HTTP Basic: Truy cập bị từ chối

từ xa : Bạn phải sử dụng mã thông báo truy cập cá nhân với phạm vi 'read_Vposeective' hoặc 'write_Vposeective' cho Git qua HTTP.

từ xa : Bạn có thể tạo một cái tại https://gitlab.com/profile/personal_access_tokens

gây tử vong : Xác thực thất bại cho ' https://gitlab.com/PROFILE_NAME/REPO_NAME.git/ '

Tôi đang dùng Ubuntu nhưng điều này hiệu quả với tôi:

  1. Đi đến https://gitlab.com/profile/personal_access_tokens
  2. Tạo mã thông báo mới và đánh dấu kiểm tra cho tất cả.
  3. Sao chép mã thông báo của bạn
  4. Bây giờ đi đến Terminal của bạn và dán nó như thế này.

git clone https: // oauth2: YOU_TOKEN@gitlab.com/PROFILE_NAME/REPO_NAME.git/



0

Đối với người dùng Mac:

  1. Chuyển đến móc khóa và xóa tài khoản gitlab
  2. Đi đến đường dẫn dự án của bạn trong terminal và chỉ cần gõ git pull
  3. Sau đó, bạn sẽ được yêu cầu tên người dùng và mật khẩu cho gitlab
  4. Nhập tên người dùng của bạn mà bạn sẽ tìm thấy trong tài khoản gitlab trong phần hồ sơ.
  5. Sau đó, nhập mật khẩu vào đây.
  6. Ở đây chúng tôi đi, một lần nữa cố gắng đẩy mã của bạn, nó có thể giúp các bạn.
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.