GitHub: geçersiz kullanıcı adı veya şifre


402

GitHub'da barındırılan bir projem var. Değişikliklerimi master'a aktarmaya çalışırken başarısız olurum. Her zaman aşağıdaki hata mesajını alıyorum

Password for 'https://git@github.com': 
remote: Invalid username or password.
fatal: Authentication failed for 'https://git@github.com/eurydyce/MDANSE.git/'

Ancak, ssh anahtarımı github olarak ayarlamak iyi görünüyor. Gerçekten, ssh -T git@github.comyaptığımda

Hi eurydyce! You've successfully authenticated, but GitHub does not provide shell access.

Bu da her şeyin o taraftan iyi olduğunu gösteriyor (eurydyce benim github kullanıcı adım). Github'da verilen talimatları ve birçok yığın tartışmasının tavsiyelerini kesinlikle takip ettim ama hiçbir şekilde. Neyi yanlış yaptığım hakkında bir fikriniz var mı?


Ben bir cevap göndermek ya da değil (yüksek şans almak downvote) emin değilim, çünkü "doğru" (kontrol öğesi tarafından kontrol) şifre ile birçok denemeden sonra github ayarlarında parolayı değiştirerek bu hata mesajını çözdüm.
Meyve

Yanıtlar:


274

https: //git@github.com/eurydyce/MDANSE.git bir ssh URL'si değil, bir https URL'si (' git' yerine GitHub hesap adınızı gerektirir ).

Kullanmaya çalış ssh://git@github.com:eurydyce/MDANSE.gitya da sadecegit@github.com:eurydyce/MDANSE.git

git remote set-url origin git@github.com:eurydyce/MDANSE.git

OP Pellegrini Eric ekler:

Şu ~/.gitconfiganda aşağıdaki girişleri içeren dosyamda yaptığım buydu[remote "origin"] url=git@github.com:eurydyce/MDANSE.git

Bu genel yapılandırmanızda (içinde olan ~/) olmamalıdır .
Sen kontrol edebilir git config -lsenin repo: url beyan edilmesi gerektiğini , yerel yapılandırma: <yourrepo>/.git/config.

Bu yüzden git remote set-urlkomutu yaparken repo yolunda olduğunuzdan emin olun .


Belirtildiği gibi Oliver 'ın cevabı ise, bir HTTPS URL kullanıcı adı / şifre kullanmak ister iki faktörlü kimlik doğrulama (2FA) devreye girer.

Bu durumda, parola " Komut satırında bir belirteç kullanma " bölümünde görüldüğü gibi bir PAT (kişisel erişim belirteci) olmalıdır .

Yalnızca HTTPS URL'leri için geçerli olan SSH bu sınırlamadan etkilenmez.


ah! Haklısınız, yerel yapılandırmamdaki bu değişiklikleri yapmak her şeyi işe yaradı. Çok teşekkürler.
Eurydice

80
Bu cevabı hiç anlamadım
Cloud

1
@ Eminim, hangi kısım netlikten yoksun, bu cevabı nasıl geliştirebilirim?
VonC

Ben işe yaramadı https klon bağlantı vardı. Ama git @ url ile değiştirdim ve çalışmaya başladı. Bunun nedeni ne olabilir? Mac anahtar zincirimden bazı github girişlerini de kaldırdım. Alakalı olabilir mi? Ancak, anahtarları yapılandırarak ssh üzerinden kullanıyordum. Herhangi bir işaretçi bu konuda yardımcı olacaktır.
cg

1
@byronaltice Bu SSH ise , içinde bir giriş bulunan bir ~/.ssh/configveya %USERPROFILE%\.ssh\configdosyanız olduğu anlamına gelir github.com.
VonC

1011

İki Factor Authentication (2FA) etkinleştirdikten sonra, kullanıma çalışırken böyle bir şey görebilirsiniz git clone, git fetch, git pullveya git push:

$ git push origin master
Username for 'https://github.com': your_user_name
Password for 'https://your_user_name@github.com': 
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/your_user_name/repo_name.git/'

Bu neden oluyor

Gönderen GitHub Yardım belgelerine :

2FA etkinleştirildikten sonra, 2FA kodu ve GitHub şifreniz yerine kişisel bir erişim belirteci girmeniz gerekir.

...

Örneğin, komut satırında Git'i kullanarak aşağıdaki komutları kullanarak bir depoya eriştiğinizde git clone,git fetch , git pullveya git pushHTTPS URL'leri ile, kendi GitHub kullanıcı adı ve kullanıcı adı ve şifre istendiğinde belirteç kişisel erişim sağlamanız gerekir. Komut satırı istemi, şifrenizi istediğinde kişisel erişim kodunuzu girmeniz gerektiğini belirtmez.

Nasıl düzeltilir?

  1. Kişisel Erişim Jetonu Oluşturun . ( Komut satırı için kişisel erişim belirteci oluşturma hakkında ayrıntılı kılavuz .)
  2. Kişisel Erişim Jetonunu kopyalayın.
  3. Çalıştığınız komutu yeniden deneyin ve şifrenizin yerine Kişisel Erişim Simgesini kullanın.

İlgili soru: https://stackoverflow.com/a/21374369/101662


14
Kudo ve upvotes; yeni jeton nesil ihtiyacım olan şey. Ayrıca; "Kopya kodu" ek (geçersiz) karakterler dahil, bu yüzden elle .... 20 [?] basamaklı rastgele anahtar girmek zorunda kaldı.
th3byrdm4n

7
Ancak bu konuda belgeler yoktu 2 şüpheli 2 faktör auth ekledikten sonra benim sorunum oldu. Cevap için teşekkürler!
Pogrindis

11
@BeauSmith: Bu, normalde izin verdiğimizden çok daha önemli bir düzenleme. Temel olarak bu cevabı tamamen yeniden yazdınız. Lütfen bunu kendi yanıtınız olarak gönderin . Ayrıca bkz. Birisi temel olarak tüm cevabınızı yeniden yazarsa ne yaparsınız?
Martijn Pieters

8
Hepimiz kararın geri dönmesine izin verin veya @Oliver tarafından karar verilmemesine izin verin - her iki şekilde de mükemmel bir argüman var
Flekso

10
Editör burada… Görünüşe göre bu yanıtı doğru olarak işaretleyen insanlar (kendim gibi), askerden biraz farklı bir sorun için bu sayfaya geliyorlar, bazı "google suyu" terimleri eklemeye ve yanıtı daha görsel olarak yapmaya çalışıyordum bu çözümü arayan başkalarının bulabileceği şekilde çekici. Topluluk için işleri daha iyi hale getirmeye çalışıyorum. 😀
Beau Smith

86

Çözüm adımları:

  1. Kontrol Paneli
  2. Kimlik Yöneticisi
  3. Tıklama Penceresi Kimlik Bilgileri
  4. Genel Kimlik Bilgileri bölümünde git url, güncelleme kullanıcı adı ve şifre olurdu
  5. Git Bash'i yeniden başlatın ve klonlamayı deneyin

4
Ben github bir şirket sürümü ile bu sorunu yaşıyordu (yani yerel kullanıcı adı / şifre kullanarak). Bu çözüm düzeltti.
mkennedy

Yeni pencerelerde, kendi dilinizde "Windows kimlik bilgilerini" veya benzerini arayabilirsiniz. Bir sonuç çıkacak ve bu çözümü deneyebilirsiniz.
Charles Tempo

1
Şirketlerin sizi https kullanmaya zorladığı şirket içi github için mükemmel çözüm
avi.elkharrat

56

Benim gibi şifrenizi güncellediyseniz ve git pushbu sorunla karşılaşmak için koştuysanız, o zaman süper kolay bir düzeltme var.

Yalnızca Mac kullanıcıları için. GitHub için OSX Anahtarlık erişim girişlerinizi silmeniz gerekir. Aşağıdaki komutları çalıştırarak terminal üzerinden yapabilirsiniz.

Kimlik bilgilerinizi komut satırı üzerinden silme

Komut satırı üzerinden, anahtarlık girişini silmek için kimlik bilgileri yardımcısını doğrudan kullanabilirsiniz.

Bunu yapmak için aşağıdaki komutu yazın:

git credential-osxkeychain erase
host=github.com
protocol=https

# [Now Press Return]

Başarılı olursa hiçbir şey yazdırılmaz. Çalıştığını test etmek için GitHub'dan bir havuzu kopyalamayı deneyin veya önceki işlemimi benim durumumdaki gibi tekrar çalıştırıngit push . Parola girmeniz istenirse, anahtar zinciri girişi silindi.


2
Windows için: git credential-wincred delete host = github.com protokolü = https
Juan Uribe

Bir BitBucket deposunda bu sorunla karşılaştım. host=bitbucket.orgGitHub yerine bu cevap benim için düzeltildi.
Gutch

26

Kullanırken https://Uzak deponuza bağlanmak için URL'yi Git kimlik doğrulama olarak SSH kullanmaz, bunun yerine HTTPS üzerinden temel bir kimlik doğrulaması dener. Genellikle, URL'yi yalnızca kullanıcı adı olmadan kullanırsınız, ör.https://github.com/username/repository.git Git daha sonra sizden hem bir kullanıcı adı (GitHub kullanıcı adınız) hem de şifrenizi girmenizi ister.

Eğer kullanırsanız https://something@github.com/username/repository.git, o zaman Git kimlik doğrulaması için kullandığınız kullanıcı adı önceden var: something. Kullandığınızdan beri https://git@github.comGit git, elbette şifrenizin çalışmadığı kullanıcı adını kullanarak giriş yapmaya çalışacaktır. Kullanmak zorunda kalacak Yani senin yerine kullanıcı adı.

Bunun alternatifi aslında kimlik doğrulama için SSH kullanmaktır. Bu şekilde şifrenizi her zaman yazmak zorunda kalmazsınız; ve zaten çalışıyor gibi göründüğü için kullanmanız gereken şey bu.

Bunu yapmak için, uzak URL'nizi değiştirmeniz gerekir, bu nedenle Git SSH üzerinden bağlanması gerektiğini bilir. Formatı bu o zaman: git@github.com:username/repository. URL'nizi güncellemek için bu komutu kullanın:

git remote set-url origin git@github.com:username/repository

komutunu denerken aşağıdaki mesajı alıyorum warning: remote.origin.url has multiple values. Bu zaten ~ / .gitconfig dosyasında değeri içeren bir uzak etiket zaten olması nedeniyle olabilir [remote "origin"] url=git@github.com:eurydyce/MDANSE.git.
Eurydice

18

tekrar şubenize itmeye çalışın. Bu, kullanıcı adınızı ve şifrenizi tekrar soracaktır, böylece değiştirilen şifreyi besleyebilirsiniz. Böylece yeni şifreniz tekrar önbellekte saklanır.


4
Bunun neden bir öneri aldığından emin değilim. Benim durumumda kimlik bilgilerim güncellendi ve ikincisi git pushbu cevabın da gösterdiği gibi uygun güncellemeyi istedi.
Dijital Travma

Emin değilim, ne demek istiyorsun, yeni kimlik bilgilerinin yürütülmesini istemiyor git push origin master...
istemiyor Betlista

13

git pullDenemek yerinegit pull origin master

Parolayı değiştirdim ve ilk komut hata verdi:

$ git pull
remote: Invalid username or password.
fatal: Authentication failed for ...

Sonra git pull origin master, şifre istedi ve kendini güncelliyor gibi görünüyordu


7

Kişisel Erişim Jetonu Oluşturmaya ve ardından şifrenizin yerine Kişisel Erişim Jetonu'na güvenmeye gerek yoktur .

Hızlı düzeltme, uzak URL'nizi işaret sshetmeyecek şekilde ayarlamaktır https.

Bunu yap git remote set-url origin git@github.com:username/repository


5

Ben bitbucket app klonlama yaparken bu alıyorum:

Cloning into 'YourAppName'...
Password for 'https://youruser id': 
remote: Invalid username or password

Çözdüm. Burada kullanıcı kimliğiniz için şifre oluşturmanız gerekir

  1. Profilinizi ve ayarlarınızı tıklayın Profilinizi ve ayarlarınızı tıklayın

  2. Daha sonra uygulama şifresi oluştur ad şifrenizin oluşturulacağını seçin, bu şifreyi terminale yapıştırın Uygulama şifresi oluştur


4

Github'da 2 faktörlü kimlik doğrulamayı devre dışı bırakmak benim için çalıştı.

Bunu söyleyen silinmiş bir cevap olduğunu görüyorum, silme nedeniyle "soruyu cevaplamıyor". Çalışırsa, o zaman soruyu cevapladığını düşünüyorum ...


Bu çok garip. Aynı şey benimle de oldu. İki faktörlü kimlik doğrulamayı devre dışı bıraktım ve şimdi benim için çalışıyor. :)
abhijeetps

Bu haziran 2020 itibariyle benim için çalıştı. Teşekkürler!
Gcamara14

4

Yaptım:

$git pull origin master

Sonra [Kullanıcı adı] ve [Şifre] istedi ve şimdi iyi çalışıyor gibi görünüyor.


Bu benim için çalıştı. Çekmek yerine getirmeyi kullandım ama yine de önemli değil. Güzel!
atereshkov

2

Bu durumda bu hata iletisini alırsanız:

  • entreprise için github kullanma
  • using credential.helper = git config içinde wincred
  • senin kullanarak pencereleri kimlik sen değişti son zamanlarda

Ardından şu cevaba bakın: https://stackoverflow.com/a/39608906/521257

Windows kimlik bilgilerini bir kimlik yöneticisi içine kaydeder, temizler veya günceller.


1

Şifrenizi güncellediğiniz için bu hatayı alıyor olabilirsiniz. Terminal'de öncelikle GitHub kimlik bilgilerinizi anahtarlıktan temizlediğinizden emin olun ve ardından değişikliklerinizi deponuza aktarın, terminal kullanıcı adınızı ve şifrenizi isteyecektir.


1

Aynı sorunu yaşadım. Ve uzak şubesinin yolunu değiştirerek çözmüş https://github.com/YourName/RepoNameiçin git@github.com:YourName/RepoName.gitistemci uygulamasının repo ayarlarında.


1

Bu sorunla sürekli karşılaşıyorum. Birkaç kez yaptığım gerçek adınızı değil, git --config user.name "" ayarını yaptığınızdan emin olun.


0

Muhtemelen hesabınız için 2FA'yı etkin tutmak istediğinizden, bir ssh anahtarı ayarlayabilirsiniz ve bu şekilde, işi Github'a her göndermek istediğinizde Github kimlik bilgilerinizi yazmanız gerekmez.

Tüm ssh kurulum adımlarını belgelerde bulabilirsiniz . İlk olarak, şu anda herhangi bir ssh anahtarınızın (id_rsa.pub vb.) Olmadığından emin olun.$ ls -al ~/.ssh


-1
  1. Kontrol Paneli
  2. Kimlik Yöneticisi
  3. Seçenek kimlik bilgilerini ve Windows kimlik bilgilerini arayın
  4. her ikisinde de github kimlik bilgilerinin doğru kimlik bilgileriyle düzeltildiğini göreceksiniz
  5. git bash'ın yeni bir örneğini aç, git komutlarınızı gerçekleştirebilmeniz gerekir.

Bu benim için çalıştı, uzaktan repo'yu çekip başardım.


-1

İki faktörlü kimlik doğrulamayı devre dışı bırakıp tekrar deniyorum. Benim için çalışıyor.


-3

Bu çözüm benim için çalıştı:

  1. Denetim Masası'nı aç
  2. Kimlik Bilgisi Yöneticisi'ne gidin
  3. Tıklama Penceresi Kimlik Bilgileri
  4. Genel Kimlik Bilgileri bölümünde git url, güncelleme kullanıcı adı ve şifre olurdu
  5. Git Bash'i yeniden başlatın ve klonlamayı deneyin

1
Bu cevap, mevcut olmayan bir cevabı faydalı olmayan kopyalar. Yeterli itibara sahip olduğunuzda (15, inanıyorum) faydalı bulduğunuz cevapları oylayabilirsiniz. Oylama, bu yinelenen yanıtı eklemek yerine doğru yanıt olacaktır.
AdrianHHH
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.