Önemli Git hatası: Kimlik doğrulama başarısız oldu


105

Depomu bir görsel stüdyo ekip hizmetleri projesine göndermek için git kullanmaya çalışıyorum, ancak şu hatayı alıyorum:

fatal: Authentication failed for (url of team project

Cmds kullanıyorum:

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

git push -u origin -–all

Bunun düzeltilmesi hakkında bir fikriniz var mı?

Teşekkürler!


1
Nasıl doğruluyorsunuz? Kişisel erişim belirteci? Alternatif erişim kimlik bilgileri?
Daniel Mann

Yanıtlar:


206

Son zamanlarda aynı sorunu yaşadım (visual studio 2017 & Windows 10) ve aşağıdaki yöntemi kullanarak çözdüm:

Denetim Masası -> Kimlik Bilgisi Yöneticisi -> Windows Kimlik Bilgilerini Yönet -> git deposunun girişini seçin ve Kullanıcı ve parolayı düzenleyin.

Bitti.


1
Kişisel Erişim Simgemin süresi dolduğunda bu yöntemi kullandım. Yeni bir tane oluşturmak için <<URL>> / _ usersSettings / token'a gidin ve ardından bunu Kimlik Bilgisi Yöneticisi'nde parola olarak ayarlayın.
Mien bile

34

GIT CLI kullanmak istiyorsanız ve Visual Studio'daki GIT sarmalayıcılarda derlemeyle etkileşime girmiyorsanız, Alternatif Kimlik Doğrulama Kimlik Bilgilerini etkinleştirmeniz gerekir.

Nasıl?

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

ve kurun.


görüntü açıklamasını buraya girin

görüntü açıklamasını buraya girin


4
Güvenlik artık menüde ayrı bir öğedir. Profili tıklarsanız, çok farklı bir sayfaya gider.
Lukos

2
versiyonlar arasında değişebilir. bu yüzden ekran görüntüsü ekledim
CodeWizard

1
Bunu yapmak zorunda değildim. Git Bash için PAT kullanmak gayet iyi çalışıyor gibi görünüyor.
Josh Gust

1
Lütfen alternatif kimlik bilgileri yerine bir PAT kullanın.
Edward Thomson

1
Alternatif kimlik bilgilerinin etkinleştirilmesi önerilmez: etki alanı kimlik bilgileri düz metin olarak
Giulio Vian

30

Ben de aynı sorunla karşılaştım. Hata çıktı penceresi şuna benzer: kimlik doğrulaması başarısız oldu Görüntü

Aşağıdaki adımları takip etmek sorunu çözdü:

  1. Denetim Masası -> Kimlik Bilgisi Yöneticisi -> Windows Kimlik Bilgileri'ne gidin
  2. Genel Kimlik Bilgisi altında, git ve güncelleme şifresinin bir girişini seçin.

    çözüm penceresi

  3. Parola, Windows (sistem) oturum açma parolasıyla aynı olmalıdır.


17

Bugün en iyi seçenek , VSO, GitHub'ı destekleyen ve her ay iyileştirilen https://github.com/Microsoft/Git-Credential-Manager-for-Windows'u kurmaktır.


2
@dotnetdev Lütfen bu yanıtı kabul edin çünkü bu, sorunu çözmek için önerilen bir yoldur.
Deilan

1
Bu, Mac ve Linux için github.com/Microsoft/Git-Credential-Manager-for-Mac-and-Linux adresinde de mevcuttur - daha az güvenli "alternatif kimlik bilgileri" eklemek zorunda kalmadan benim için mükemmel bir şekilde çalıştı.
Breeno

1
Bu gerçekten de Microsoft'un sağladığı "fiili" çözümdür. Burada gerçekten işe yarayan diğer çözümler ince ayarlar olarak kabul edilecektir.
Stephane

11

VSTS ile url, vsts'den git clone url'sini kopyaladığınızda her zaman

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

Değiştir orgname @ sizin ile alternatif kullanıcı adı oluşturduğunuz olurdu VSTS -> profili -> Güvenlik.

son git url -

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


8

Aynı sorunu yaşadım, şifremi Windows kimlik bilgisi yöneticisini kullanarak güncellemeye çalıştım, yine de sorunu çözmedi

Denetim Masası -> Kimlik Bilgisi Yöneticisi -> Windows Kimlik Bilgilerini Yönet -> git deposunun girişini seçin ve Kullanıcı ve parolayı düzenleyin.

Daha sonra kimlik bilgileri yöneticisindeki git ile ilgili tüm girdileri sildim ve daha sonra Git'i visual studio kullanarak kullanmayı denedim, bu sefer yeni kimlik bilgileri istedi


5

".Git / config" i silin ve tekrar deneyin. Dikkat, bu da bazı git ayarlarını sıfırlayabilir!

Pek çok kez doğru kimlik bilgileriyle alternatif kimlik bilgilerini ve Kişisel Erişim Simgesini denedim ve bana "ölümcül: Kimlik doğrulama başarısız" diyordu.

Son olarak, Repo'mun kökünde ".git / config" adlı bir dosya buldum. Bu dosyayı sildim ve kimlik bilgilerimi tekrar yazdım, işe yaradı.


3

Değişiklikleri VS2017'den bir VSTS Git deposuna aktarmaya çalışırken aniden bu hatayı almaya başladım. Bu işlevsellik bir gün önce işe yaramıştı.

Git.log dosyamı kontrol ettim ve farklı bir istisna gördüm: -

19: 43: 57.116665 ... zureAuthority.cs: 184 izleme: [ValidateCredentials] sunucu döndürdü: 'Uzak sunucuya bağlanılamıyor.

En son Git CredentialManager kaynağını Gits Credential Manager deposundan indirdim ve hatalarını ayıkladım.

Doğrulandıktan sonra aşağıdaki istisna meydana geldi: -

Hedef makine aktif olarak reddettiği için bağlantı kurulamadı 127.0.0.1:8888

Daha sonra, son zamanlarda Fiddler'ı fiddler ile .net-hizmetlerinden-gelen-trafiği-yakalama makalesine göre tüm hizmetler için bir proxy görevi görecek şekilde kurduğumu fark ettim.

Fiddler'ı çalıştırdıktan sonra başarılı bir şekilde bağlanabildim.


3

Çözümüm biraz farklı ve daha hızlıydı :)

  1. Windows Kimlik Bilgileri'ne (Başlat-> Windows Kimlik Bilgileri) gidin ve deponuz için kimlik bilgilerini kaldırın (git: xxx ile başlar)
  2. VSCode'a gidin ve Terminal yazısında:

    config credential.helper wincred

  3. Visual Studio'ya gidin (VSCode yok) ve git çekme yapın. Kimlik bilgilerinin sorulduğu bir açılır pencere gösterilecektir. Depo için kimlik bilgilerinizi koyun

  4. VSCode'a gidin ve bir git çekme yapın. Kimlik bilgileri otomatik olarak wincred mağazasından alındı

Kimlik bilgileri otomatik olarak oluşturulur ve kimlik bilgilerinde saklanır, böylece bir dahaki sefere kimlik bilgileri istenemez. (DevOps tarafından barındırılan git deposunu kullanıyorsanız, ayrıca visualstudio.com'dan bir Kişisel Erişim Belirteci sağlanacaktır).


Başlat-> Windows Kimlik Bilgileri bir sihir gibi çalışıyor! Teşekkürler!
Highriser

2

Microsoft Credential Manager'ı kullanamayan Linux kullanıcıları için. Ssh kullanmanın dışında bulduğum tek çözüm bu. Depo görünümünde kimlik bilgilerini oluşturmanız gerekir (Aşağıdaki resimlere bakın) git kimlik bilgilerini al

Ve sonuç: Git kimlik bilgileri sonucunu al

Şifreyi kopyalayın !. Azure devops bunu saklamaz ve bir daha göremezsiniz!

Not: 2020 itibarıyla Alternatif kimlik bilgileri devre dışı bırakıldı Microsoft bloguna göz atın


1

Birçok seçeneği denedim, ancak benim için işe yarayan şuydu:

  1. Git Password Manager'ı Sürümler bölümünden indirin

  2. git fetchPencereyi otomatik olarak getirecek (örneğin varsayılan pencerelere alternatif) ve kullanıcı adı ve şifre girmeyi isteyecek, ancak standart olandan daha zarif bir şekilde basit yapmaya çalışın .

Kimlik bilgilerini doğru bir şekilde girdikten sonra işe yaradı, ancak daha önce bir hata alıyordum.

Not: "Yanlış Kimlik Bilgileri" gibi hatalar alıyorsanız, her zaman arşiv kullanıcı adı ve şifresinin doğru olup olmadığını kontrol edin . Tereddüt ederseniz, parolayı sıfırlayın ve aynısını Git Parola yöneticisi penceresinde kullanmayı deneyin.


1

Bu sorunu yaşadım ve Microsoft'taki bir teknisyenin talimatları benim için sorunu çözdü:

  • Visual Studio'nun tüm örneklerini kapatın.
  • Görev Yöneticisi'ni açın ve herhangi bir TFS Hizmetinin çalışıp çalışmadığını kontrol edin. Her birini seçin ve İşlem Ağacını Sonlandır'a tıklayın.
  • Aşağıdaki klasöre göz atın ve% LocalAppData% \ Microsoft \ Team Foundation {version} \ Cache içindeki tüm içeriği ve klasörleri silin
  • Denetim Masası -> Kullanıcı Hesapları -> Kimlik Bilgilerinizi Yönetin -> Windows Kimlik Bilgilerinizi gidin, kaldırmak için VSTS URL'sini seçin
  • Ardından "C: \ Users \ USER NAME \ AppData \ Local \ GitCredentialManager \ tenant.cache" konumuna gidin ve silin
  • Ayrıca "C: \ Users \ USER NAME \ AppData \ Local.IdentityService" konumuna gidin ve silin


0

Tek ihtiyacım olan doğru kimlik bilgileriydi. bir web uygulamasına dağıtım yaparken, Dağıtım Merkezi, Dağıtım Kimlik Bilgileri'ne gitmem gerekiyordu. Daha sonra Uygulama Kimlik Bilgilerini kullanın veya Kullanıcı Kimlik Bilgileri oluşturun. Bundan sonra, yerel makinede önbelleğe alınmış kimlik bilgilerini silin (Windows: Denetim Masası \ Kullanıcı Hesapları \ Kimlik Bilgileri Yöneticisi). tekrar "git push webapp master: master" komutunu çalıştırın, Dağıtım Kimlik Bilgilerinden birini girin. Bu benim için çalıştı.


0

Pencerelerden başka bir şey üzerindeyseniz ve patronunuz sizi Azure devops kullanmaya zorluyorsa ve SSH'yi kullanmak istemiyorsanız ve eski yöntemle kullanmak istiyorsanız, aşağıdakileri yapın.

'Alternatif kimlik bilgilerini' etkinleştirmeniz gerekir (can sıkıcı olduğunu biliyorum) veya bir erişim belirteci oluşturmanız gerekir. Bu durumda bir erişim belirteci oluşturmak daha çok geçici bir rastgele şifre gibidir. Windows araçlarını kullanırsanız, sizin için yapılır.

Herhangi bir şekilde, Securitysağ üst köşedeki profil bağlam menüsüne gidin .

Güvenlik ayarları

Daha sonra yönetici haklarına sahip patronunuz / yöneticiniz / dostunuz size destek veriyorsa, 'Alternatif kimlik bilgileri' etkinleştirilir. Aksi takdirde kaderinizi kabul edin ve bir 'Kişisel erişim jetonu' oluşturun.

Güvenlik ayarları


0

Kurulum için 2 ila 5 dakika!

  • SSH anahtarlarınızı oluşturun (~ / .ssh /)

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

  • Ortak anahtarı Azure DevOps Services / TFS'ye ekleyin
  • Git deposunu SSH ile klonlayın

Kaynak


0

Git kimlik doğrulaması ve azure devops sunucusu ile mücadele ettikten ve diğer cevapları denedikten sonra buradaki bu ipucu benim için çalıştı.

Visual Studio mu kullanıyorsunuz? Takım Gezgini, sizin için Azure Repos ile kimlik doğrulamasını yönetir.

Depoya Team Explorer kullanarak bağlandıktan sonra git komutlarını yürütmek için komut satırını kullanabilirim.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.