Push ke GitHub tanpa Password: Memahami SSH Key dan Personal Access Token
Kamu sudah membuat repository dan berhasil commit, tetapi git push malah menampilkan pesan bahwa password authentication tidak didukung. Ini bukan berarti repository-nya rusak. GitHub memang tidak menerima password akun biasa untuk operasi Git melalui HTTPS.
Ada dua metode umum untuk mengakses repository dari komputer: SSH key dan personal access token (PAT). Keduanya punya kegunaan, dan pemilihannya bergantung pada kebiasaan kerja.
Mengapa password akun tidak dipakai?
Password utama akun terlalu berharga untuk digunakan oleh banyak aplikasi dan skrip. Token memberi kontrol hak akses yang bisa dibatasi dan dicabut. SSH memakai pasangan kunci publik dan privat, sehingga komputer dapat membuktikan identitasnya tanpa mengirim private key ke GitHub.
Melihat remote repository
Jalankan:
git remote -v
Jika alamatnya dimulai https://github.com/, Git memakai HTTPS. Jika berbentuk git@github.com:..., koneksinya menggunakan SSH. Kamu bisa menggunakan keduanya; tidak perlu mencampur metode pada satu remote kecuali punya alasan khusus.
Menggunakan SSH key
Cara yang umum adalah membuat kunci Ed25519 dari komputer sendiri:
ssh-keygen -t ed25519 -C "email-akun-github"
Ikuti petunjuk penyimpanan dan pertimbangkan passphrase untuk melindungi private key. File yang berakhiran .pub adalah kunci publik yang dapat didaftarkan di pengaturan GitHub. Jangan pernah mengunggah private key ke repository, chat publik, atau issue tracker.
Uji koneksi:
ssh -T git@github.com
Jika autentikasi berhasil, GitHub biasanya memberi pesan bahwa koneksi dikenali tetapi shell akses tidak disediakan. Setelah itu, gunakan remote SSH yang sesuai dengan repository milikmu.
Kapan memakai personal access token?
PAT berguna untuk workflow HTTPS atau integrasi tertentu. Sebaiknya pilih fine-grained token jika cocok dengan kebutuhanmu, batasi repository dan izin, serta tetapkan masa berlaku yang masuk akal.
Jangan menaruh token langsung di URL remote, file Markdown, atau konfigurasi yang masuk Git. Credential manager sistem operasi biasanya lebih aman daripada menyimpan token di file teks biasa.
Kalau akses tetap gagal
Periksa beberapa hal: username remote benar, repository memang ada, akun memiliki izin, token belum kadaluarsa, dan remote tidak salah ketik. Pada SSH, pastikan public key terdaftar pada akun yang benar dan key yang digunakan sesuai.
Autentikasi GitHub terasa rumit hanya di awal. Setelah metode akses disiapkan dengan benar, pekerjaan sehari-hari kembali sederhana: commit, push, review, lalu merge.



