Cara Mengatasi GitHub Authentication Failed saat Push Ditolak

Push ditolak dengan pesan authentication failed hampir selalu berarti Git gagal membuktikan identitas ke GitHub, bukan repository rusak. Perbaikan tercepat: hapus kredensial lama yang tersimpan, ganti password HTTPS dengan Personal Access Token (PAT) atau perbaiki SSH key, lalu uji ulang push.

Penyebab Github Authentication Failed Paling Sering

Git dan GitHub memakai pesan berbeda untuk tiap kegagalan. Baca baris pertama error sebelum mengubah apa pun.

  • Password akun GitHub tidak lagi berlaku untuk operasi Git lewat HTTPS.
  • PAT kedaluwarsa, salah salin, atau scope tidak mencakup repo.
  • SSH key belum ditambahkan ke akun GitHub atau ssh-agent tidak memuat key yang benar.
  • Kredensial lama masih tersimpan di Windows Credential Manager, macOS Keychain, atau Linux libsecret.
Pesan Error Penyebab Solusi
Authentication failed Password dipakai sebagai pengganti PAT Buat PAT baru dan pakai sebagai password
Invalid username or password Username, PAT, atau kredensial tersimpan salah Hapus kredensial lama lalu login ulang
Permission denied (publickey) SSH key tidak dikenali GitHub Tambahkan public key ke GitHub
403 Forbidden Login benar tetapi tidak punya akses repo Minta akses collaborator atau periksa permission

Periksa Remote dan Metode Autentikasi yang Dipakai

Jalankan perintah berikut sebelum mengganti token atau key. URL remote menentukan metode yang harus diperbaiki.

git remote -v
ssh -T git@github.com
  • URL diawali https://github.com/ berarti Git memakai PAT lewat credential manager.
  • URL berbentuk git@github.com: berarti Git memakai SSH key.
  • Login lewat gh auth login memakai browser atau token GitHub CLI, terpisah dari konfigurasi remote.

Cara Memperbaiki Github Authentication Failed

Untuk remote HTTPS, lakukan urutan ini:

  1. Hapus kredensial github.com lama dari Credential Manager, Keychain, atau libsecret.
  2. Buat PAT baru di pengaturan token GitHub dengan scope repo saja bila hanya perlu push dan pull.
  3. Perbarui remote bila URL salah atau ingin pindah metode:
    git remote set-url origin https://github.com/NAMA/PGabriel.git
  4. Uji dengan perintah aman dulu:
    git fetch origin
    git push origin main

Untuk remote SSH, lakukan urutan ini:

  1. Buat key baru bila belum ada:
    ssh-keygen -t ed25519 -C "email@anda.com"
  2. Tambahkan isi file .pub ke menu SSH keys di akun GitHub.
  3. Uji koneksi dengan ssh -T git@github.com sampai muncul sapaan username.
  4. Perbaiki permission bila key ditolak:
    chmod 600 ~/.ssh/id_ed25519

Jangan paksa push untuk mengatasi error autentikasi. Revoke PAT lama setelah token baru bekerja, simpan token sebagai <TOKEN_ANDA> di catatan pribadi, dan jangan menempel token asli ke terminal orang lain.

FAQ

Kenapa password GitHub ditolak padahal benar?

GitHub tidak menerima password akun untuk Git HTTPS, gunakan PAT sebagai pengganti password.

Bagaimana tahu harus pakai SSH atau PAT?

Lihat hasil git remote -v, URL HTTPS berarti PAT sedangkan URL git@github.com berarti SSH.

Apa yang dilakukan jika 403 setelah login berhasil?

Periksa apakah repository private, fork, atau permission collaborator berubah, karena 403 menandakan akses ditolak.