Mengatasi Pesan Error GitHub Terkait Otentikasi - wongganteng10/tutorial GitHub Wiki
Mengatasi Pesan Error GitHub Terkait Otentikasi
Pesan error yang muncul menunjukkan bahwa GitHub telah menghapus dukungan untuk otentikasi menggunakan password saat melakukan push melalui HTTPS. Sebagai gantinya, GitHub mendorong pengguna untuk menggunakan Personal Access Tokens (PAT) atau SSH untuk autentikasi. Berikut adalah langkah-langkah untuk menyelesaikan masalah ini:
Pilihan 1: Menggunakan Personal Access Token (PAT)
-
Buat Personal Access Token:
- Masuk ke akun GitHub kamu.
- Buka Settings.
- Di sidebar, klik Developer settings.
- Klik Personal access tokens > Tokens (classic).
- Klik tombol Generate new token.
- Beri nama pada token, pilih scope yang diinginkan (minimal centang
repo
untuk akses penuh ke repositori), lalu klik Generate token. - Salin token yang dihasilkan (ini hanya ditampilkan sekali).
-
Gunakan Personal Access Token saat Melakukan Push:
Ketika kamu melakukan push dan diminta untuk memasukkan username dan password, masukkan:
- Username: nama pengguna GitHub kamu (misalnya,
wongganteng10
). - Password: gunakan Personal Access Token yang baru saja kamu buat sebagai password.
- Username: nama pengguna GitHub kamu (misalnya,
Pilihan 2: Menggunakan SSH
Jika kamu lebih suka menggunakan SSH daripada HTTPS, kamu bisa mengikuti langkah-langkah berikut untuk mengkonfigurasi SSH:
-
Buat SSH Key (Jika Belum Ada):
Jika kamu belum memiliki SSH key, buat SSH key baru dengan perintah berikut:
ssh-keygen -t rsa -b 4096 -C "[email protected]"
Tekan
Enter
untuk menggunakan lokasi default dan masukkan passphrase jika diinginkan. -
Tambahkan SSH Key ke SSH Agent:
Jalankan perintah berikut untuk memastikan agent SSH berjalan:
eval "$(ssh-agent -s)"
Tambahkan SSH key ke agent:
ssh-add ~/.ssh/id_rsa
-
Tambahkan SSH Key ke GitHub:
Salin public SSH key ke clipboard dengan perintah berikut:
cat ~/.ssh/id_rsa.pub
- Buka GitHub.
- Masuk ke Settings > SSH and GPG keys > New SSH key.
- Tempelkan SSH key yang sudah disalin dan beri nama pada key tersebut.
- Klik Add SSH key.
-
Ubah URL Remote ke SSH:
Ubah URL remote repository agar menggunakan SSH alih-alih HTTPS:
git remote set-url origin [email protected]:wongganteng10/nama-repository.git
-
Push ke Remote:
Setelah mengkonfigurasi SSH, coba lagi untuk melakukan push:
git push origin main
Kesimpulan
Menggunakan Personal Access Token atau SSH adalah cara yang tepat untuk mengautentikasi ke GitHub setelah penghapusan dukungan untuk password. Pilih metode yang paling nyaman untukmu. Jika kamu memerlukan bantuan lebih lanjut, silakan beri tahu!
Berikut adalah wiki yang dapat digunakan untuk mengatasi masalah error Permission denied (publickey)
saat menggunakan GitHub:
Permission denied (publickey)
pada GitHub
Mengatasi Pesan Error Pesan error ini menunjukkan bahwa Git tidak bisa terhubung ke repository GitHub karena masalah otentikasi. Berikut ini adalah langkah-langkah untuk mengatasi masalah tersebut.
1. Pastikan SSH Key Sudah Terpasang
Jika kamu ingin menggunakan SSH, pastikan kamu sudah membuat dan menambahkan SSH key ke akun GitHub.
a. Cek Apakah Kamu Sudah Punya SSH Key
Jalankan perintah ini untuk memeriksa apakah kamu sudah memiliki SSH key:
ls -al ~/.ssh
Jika ada file seperti id_rsa
dan id_rsa.pub
, berarti kamu sudah memiliki SSH key. Jika belum ada, kamu perlu membuatnya.
b. Buat SSH Key (Jika Belum Ada)
Jika belum punya, buat SSH key dengan menjalankan perintah ini:
ssh-keygen -t rsa -b 4096 -C "[email protected]"
Tekan Enter
untuk menyimpan file di lokasi default (~/.ssh/id_rsa
).
c. Tambahkan SSH Key ke Agent SSH
Jalankan perintah berikut untuk memastikan agent SSH berjalan:
eval "$(ssh-agent -s)"
Kemudian tambahkan SSH key ke agent:
ssh-add ~/.ssh/id_rsa
d. Tambahkan SSH Key ke Akun GitHub
Salin konten dari SSH public key (id_rsa.pub
) dan tambahkan ke GitHub:
cat ~/.ssh/id_rsa.pub
Salin output dari perintah tersebut, lalu tambahkan ke GitHub melalui:
- GitHub > Settings > SSH and GPG Keys > New SSH Key
2. Verifikasi Koneksi ke GitHub
Setelah SSH key ditambahkan, jalankan perintah ini untuk memastikan koneksi ke GitHub berfungsi:
ssh -T [email protected]
Jika semuanya berfungsi, akan muncul pesan seperti:
Hi wongganteng10! You've successfully authenticated, but GitHub does not provide shell access.
3. Perbaiki URL Remote
Jika sebelumnya kamu menambahkan repository menggunakan HTTPS, kamu bisa menggantinya ke SSH.
Cek URL remote repository:
git remote -v
Jika masih menggunakan HTTPS, ubah ke SSH dengan perintah berikut:
git remote set-url origin [email protected]:wongganteng10/nama-repository.git
4. Push Ulang
Setelah konfigurasi SSH berhasil, kamu bisa mencoba melakukan push ulang:
git push origin master --force
Ini akan memaksa push ke branch master
menggunakan koneksi SSH.
Menghapus SSH Key yang Telah Dibuat
Jika kamu ingin menghapus SSH key yang telah dibuat menggunakan ssh-keygen
, ikuti langkah-langkah berikut:
1. Hapus File SSH Key dari Sistem
SSH key disimpan di folder ~/.ssh
secara default. Kamu bisa menghapus file tersebut dengan perintah berikut:
rm -f ~/.ssh/id_rsa ~/.ssh/id_rsa.pub
Perintah ini akan menghapus file private key (id_rsa
) dan public key (id_rsa.pub
).
2. Hapus SSH Key dari SSH Agent (Jika Diperlukan)
Jika kamu sudah menambahkan SSH key ke SSH agent, kamu bisa menghapusnya dengan perintah berikut:
ssh-add -d ~/.ssh/id_rsa
3. Hapus SSH Key dari GitHub
Jika kamu sudah menambahkan SSH key tersebut ke akun GitHub, kamu juga perlu menghapusnya dari sana:
- Buka GitHub.
- Masuk ke Settings > SSH and GPG keys.
- Temukan SSH key yang ingin dihapus dan klik tombol Delete.
Setelah langkah-langkah ini, SSH key akan terhapus dari sistem dan GitHub.
Dengan mengikuti langkah-langkah di atas, kamu seharusnya bisa mengatasi masalah otentikasi Permission denied (publickey)
saat menggunakan GitHub.