Saya memiliki proyek yang di-host di GitHub. Saya gagal ketika mencoba mendorong modifikasi saya pada master. Saya selalu mendapatkan pesan kesalahan berikut
Password for 'https://[email protected]':
remote: Invalid username or password.
fatal: Authentication failed for 'https://[email protected]/eurydyce/MDANSE.git/'
Namun, mengatur kunci ssh saya ke github tampaknya ok. Memang, ketika saya melakukan ssh -T [email protected]
saya mendapatkan
Hi eurydyce! You've successfully authenticated, but GitHub does not provide shell access.
Yang tampaknya menunjukkan bahwa semuanya OK dari sisi itu (eurydyce menjadi nama pengguna github saya). Saya benar-benar mengikuti instruksi yang diberikan pada github dan rekomendasi dari banyak diskusi stack tetapi tidak ada cara. Apakah Anda tahu apa yang saya lakukan salah?
Jawaban:
https: //[email protected]/eurydyce/MDANSE.git bukan url ssh, ini adalah https (yang membutuhkan nama akun GitHub Anda, alih-alih '
git
').Coba gunakan
ssh://[email protected]:eurydyce/MDANSE.git
atau adil[email protected]:eurydyce/MDANSE.git
The OP Pellegrini Eric menambahkan:
Ini tidak boleh dalam konfigurasi global Anda (yang ada di
~/
).Anda bisa memeriksa
git config -l
di repo Anda: bahwa url harus dinyatakan dalam lokal config:<yourrepo>/.git/config
.Jadi pastikan Anda berada di jalur repo saat melakukan
git remote set-url
perintah.Seperti tercantum dalam Oliver 's jawaban , sebuah HTTPS URL tidak akan menggunakan username / password jika otentikasi dua faktor (2FA) diaktifkan.
Dalam hal ini, kata sandi harus berupa PAT (token akses pribadi) seperti yang terlihat di " Menggunakan token pada baris perintah ".
Itu hanya berlaku untuk HTTPS URL, SSH tidak terpengaruh oleh batasan ini.
sumber
~/.ssh/config
atau%USERPROFILE%\.ssh\config
file, dengangithub.com
entri di dalamnya.Setelah mengaktifkan Dua Faktor Otentikasi (2FA), Anda mungkin melihat sesuatu seperti ini ketika mencoba untuk menggunakan
git clone
,git fetch
,git pull
ataugit push
:Mengapa ini terjadi?
Dari dokumentasi Bantuan GitHub :
Bagaimana memperbaikinya
Pertanyaan terkait: https://stackoverflow.com/a/21374369/101662
sumber
Langkah solusi:
sumber
Hanya untuk pengguna Mac. Anda perlu menghapus entri akses Keychain OSX untuk GitHub. Anda dapat melakukannya melalui terminal dengan menjalankan perintah berikut.
Menghapus kredensial Anda melalui baris perintah
Melalui baris perintah, Anda dapat menggunakan penolong kredensial secara langsung untuk menghapus entri gantungan kunci.
Untuk melakukan ini, ketik perintah berikut:
Jika berhasil, tidak ada yang akan dicetak. Untuk mengujinya, coba dan tiru repositori dari GitHub atau jalankan tindakan Anda sebelumnya seperti dalam kasus saya
git push
. Jika Anda dimintai kata sandi, entri gantungan kunci telah dihapus.sumber
host=bitbucket.org
bukannya GitHub memperbaikinya untuk saya.Ketika menggunakan
https://
URL untuk terhubung ke repositori jarak jauh Anda, maka Git tidak akan menggunakan SSH sebagai otentikasi tetapi sebaliknya akan mencoba otentikasi dasar melalui HTTPS. Biasanya, Anda hanya akan menggunakan URL tanpa nama pengguna, mishttps://github.com/username/repository.git
, dan Git akan meminta Anda untuk memasukkan nama pengguna (nama pengguna GitHub Anda) dan kata sandi Anda.Jika Anda menggunakan
https://[email protected]/username/repository.git
, maka Anda memiliki preset nama pengguna Git akan digunakan untuk otentikasi:something
. Sejak Anda menggunakannyahttps://[email protected]
, Git akan mencoba masuk menggunakangit
nama pengguna yang kata sandinya tentu saja tidak berfungsi. Jadi, Anda harus menggunakan nama pengguna Anda sebagai gantinya.Alternatifnya adalah menggunakan SSH untuk otentikasi. Dengan begitu Anda tidak perlu mengetik kata sandi sepanjang waktu; dan karena tampaknya sudah berfungsi, itulah yang harus Anda gunakan.
Untuk melakukan itu, Anda perlu mengubah URL jarak jauh Anda, jadi Git tahu bahwa itu perlu terhubung melalui SSH. Formatnya adalah maka ini:
[email protected]:username/repository
. Untuk memperbarui URL Anda gunakan perintah ini:sumber
warning: remote.origin.url has multiple values
. Ini mungkin karena fakta bahwa saya sudah memiliki tag jarak jauh di file ~ / .gitconfig saya yang berisi nilai[remote "origin"] [email protected]:eurydyce/MDANSE.git
.coba saja dorong ke cabang Anda lagi. Ini akan menanyakan nama pengguna dan kata sandi Anda lagi, sehingga Anda dapat memasukkan kata sandi yang diubah. Sehingga kata sandi baru Anda akan disimpan lagi di cache.
sumber
git push
meminta pembaruan yang sesuai, seperti yang ditunjukkan oleh jawaban ini.git push origin master
...Dari pada
git pull
juga mencobagit pull origin master
Saya mengubah kata sandi, dan perintah pertama memberi kesalahan:
Setelah
git pull origin master
itu, ia meminta kata sandi dan sepertinya memperbarui sendirisumber
Tidak perlu bergantung pada Menghasilkan Token Akses Pribadi dan kemudian mencoba dan menggunakan Token Akses Pribadi di tempat kata sandi Anda.
Perbaikan cepat adalah mengatur URL jarak jauh Anda ke titik
ssh
tidakhttps
.Melakukan hal ini
git remote set-url origin [email protected]:username/repository
sumber
Saya mendapatkan ini saat mengkloning aplikasi dari bitbucket:
Saya menyelesaikannya. Di sini Anda perlu membuat kata sandi untuk userid Anda
Klik pada profil dan pengaturan Anda
Kemudian Buat kata sandi aplikasi pilih kata sandi yang akan dihasilkan, tempel kata sandi itu ke terminal
sumber
Menonaktifkan otentikasi 2 faktor di github bekerja untuk saya.
Saya melihat bahwa ada jawaban yang dihapus yang mengatakan ini, dengan alasan penghapusan sebagai "tidak menjawab pertanyaan". Jika berhasil, maka saya pikir itu menjawab pertanyaan ...
sumber
Aku melakukannya:
Kemudian ia meminta [Nama Pengguna] & [Kata Sandi] dan tampaknya berfungsi dengan baik sekarang.
sumber
Jika Anda mendapatkan pesan kesalahan ini dalam situasi ini:
Kemudian lihat jawaban ini: https://stackoverflow.com/a/39608906/521257
Windows menyimpan kredensial di manajer kredensial, menghapusnya atau memperbaruinya.
sumber
Anda mungkin mendapatkan kesalahan ini karena Anda telah memperbarui kata sandi Anda. Jadi pada Terminal terlebih dahulu pastikan Anda menghapus kredensial GitHub Anda dari gantungan kunci dan kemudian mendorong perubahan Anda ke repo Anda, terminal akan meminta nama pengguna dan kata sandi Anda.
sumber
Saya memiliki masalah yang sama. Dan saya menyelesaikannya dengan mengubah jalur cabang jarak jauh dari
https://github.com/YourName/RepoName
ke[email protected]:YourName/RepoName.git
dalam pengaturan repo dari aplikasi klien.sumber
Saya terus-menerus mengalami masalah ini. Pastikan Anda mengatur git --config user.name "" dan bukan nama asli Anda, yang telah saya lakukan beberapa kali ..
sumber
Karena Anda mungkin ingin mengaktifkan 2FA untuk akun Anda, Anda dapat mengatur kunci ssh dan dengan cara itu Anda tidak perlu mengetikkan kredensial Github Anda setiap kali Anda ingin mendorong pekerjaan ke Github.
Anda dapat menemukan semua langkah pengaturan ssh dalam dokumentasi . Pertama, pastikan saat ini Anda tidak memiliki kunci ssh (id_rsa.pub, dll.)
$ ls -al ~/.ssh
sumber
Ini bekerja untuk saya, saya bisa menarik dan mendorong repo jarak jauh saya.
sumber
Saya hanya menonaktifkan otentikasi Dua faktor dan coba lagi. Ini bekerja untuk saya.
sumber
Solusi ini bekerja untuk saya:
sumber