Cara Konfigurasi Git Client di Ubuntu 24.04
Anda baru saja membuat VPS baru atau server Ubuntu 24.04, dan perlu menyiapkan Git Client untuk mengelola sebuah project. Tanpa konfigurasi yang tepat, setiap commit tidak memiliki identitas pengirim dan autentikasi ke remote repository menjadi tidak aman.
Tutorial ini memandu Anda menginstal Git client dari official repositori Ubuntu, mengonfigurasi identitas user, menghasilkan SSH key dengan algoritma Ed25519, dan menguji koneksi ke GitHub. Semua dijalankan di Ubuntu 24.04.
Requirementsโ
Sebelum memulai, pastikan Anda memiliki:
- Server atau komputer dengan Ubuntu 24.04
- Akses user dengan
sudo - Terminal atau SSH ke server
Environmentโ
Update indeks paket sistem sebelum instalasi.
sudo apt update
Sistem siap menerima instalasi paket terbaru dari repositori.
Instalasiโ
Instal Git client dari repositori resmi Ubuntu 24.04.
sudo apt install git -y
Paket git versi 2.43.0 tersedia di repositori noble. Setelah instalasi selesai, periksa versi yang terpasang:
git --version
Output yang diharapkan menampilkan git version 2.43.0 atau versi lebih tinggi.
Konfigurasi Identitasโ
Git memerlukan nama dan email untuk setiap commit. Atur secara global agar berlaku untuk semua repositori.
git config --global user.name "Nama Anda"
git config --global user.email "email@domain.com"
Ganti Nama Anda dan email@domain.com dengan identitas asli. Konfigurasi ini disimpan di ~/.gitconfig. Verifikasi:
git config --list
Output menampilkan user.name dan user.email yang baru diatur.
Membuat SSH Keyโ
SSH key memberikan autentikasi aman tanpa perlu memasukkan password setiap kali berinteraksi dengan remote repository. Gunakan algoritma Ed25519 yang lebih pendek dan cepat dibanding RSA 4096-bit, dengan tingkat keamanan setara.
ssh-keygen -t ed25519 -C "email@domain.com"
Gunakan alamat email yang sama seperti konfigurasi Git.
Saat diminta lokasi penyimpanan (Enter file in which to save the key), tekan Enter untuk menggunakan path default ~/.ssh/id_ed25519. Jika sudah ada key dengan nama yang sama, ssh-keygen akan meminta konfirmasi sebelum menimpa. Pilih n dan tentukan nama berbeda jika ingin menyimpan key lama.
Saat diminta passphrase, Anda dapat mengosongkannya (tekan Enter dua kali) atau mengisi dengan passphrase yang kuat. Passphrase mengenkripsi private key di disk sehingga jika file dicuri, key tidak dapat digunakan tanpa passphrase.
Setelah proses selesai, dua file dibuat:
| File | Fungsi |
|---|---|
~/.ssh/id_ed25519 | Private key. Jangan pernah dibagikan |
~/.ssh/id_ed25519.pub | Public key. Tambahkan ke akun Git provider |
Menambahkan Key ke SSH Agentโ
SSH agent mengelola key Anda dan menyediakannya saat diperlukan.
eval "$(ssh-agent -s)"
Perintah ini menjalankan ssh-agent di background. Output menampilkan PID proses agent, misalnya Agent pid 12345.
Tambahkan private key ke agent:
ssh-add ~/.ssh/id_ed25519
Jika Anda mengisi passphrase, Anda akan diminta memasukkannya sekali. Sekarang ssh-agent akan menyediakan key untuk semua koneksi SSH berikutnya.
Menampilkan Public Keyโ
Tampilkan public key untuk ditambahkan ke akun Git provider Anda (GitHub, GitLab, atau Bitbucket).
cat ~/.ssh/id_ed25519.pub
Output berupa satu baris teks yang dimulai dengan ssh-ed25519, diikuti oleh key dan alamat email Anda. Salin seluruh baris ini.
Selanjutnya, buka pengaturan akun Git provider Anda:
- GitHub: Settings โ SSH and GPG keys โ New SSH key
- GitLab: Preferences โ SSH Keys โ Add new key
- Bitbucket: Personal settings โ SSH keys โ Add key
Tempel public key yang telah disalin dan simpan.
Pengujian Fungsionalโ
Uji koneksi SSH ke GitHub. Perintah ini tidak membuka shell, tetapi mengonfirmasi bahwa autentikasi berhasil.
ssh -T git@github.com
Jika koneksi berhasil, output menampilkan pesan seperti:
Hi <username>! You've successfully authenticated, but GitHub does not provide shell access.
Exit code adalah 1 karena GitHub tidak menyediakan shell, tetapi pesan successfully authenticated mengonfirmasi bahwa SSH key berfungsi.
Untuk GitLab, gunakan:
ssh -T git@gitlab.com
Untuk Bitbucket:
ssh -T git@bitbucket.org
Verifikasiโ
Verifikasi seluruh konfigurasi dalam satu langkah.
git config --global --list && ssh -T git@github.com 2>&1 | head -1
Output yang diharapkan: baris user.name dan user.email diikuti oleh pesan sukses autentikasi GitHub. Jika semua baris muncul tanpa error, konfigurasi Git dan SSH key Anda siap digunakan.
Troubleshootingโ
SSH key ditolak: Permission denied (publickey)โ
Symptom: ssh -T git@github.com mengembalikan Permission denied (publickey).
Diagnosis:
ssh -vT git@github.com 2>&1 | grep -E "Offering|Authenticated|denied"
Penyebab umum dan solusi:
-
Public key belum ditambahkan ke Git provider. Tambahkan public key melalui pengaturan akun.
-
ssh-agent tidak berjalan. Jalankan ulang
eval "$(ssh-agent -s)"danssh-add ~/.ssh/id_ed25519. -
Izin file SSH salah. Perbaiki izin:
chmod 700 ~/.sshchmod 600 ~/.ssh/id_ed25519chmod 644 ~/.ssh/id_ed25519.pub
Verifikasi ulang dengan ssh -T git@github.com. Pesan successfully authenticated menandakan masalah terselesaikan.
Git commit muncul dengan identitas salahโ
Symptom: log commit menampilkan nama atau email yang tidak sesuai.
Diagnosis:
git config --global user.name
git config --global user.email
Jika output tidak sesuai, atur ulang dengan git config --global user.name "Nama Baru" dan git config --global user.email "email@baru.com". Konfigurasi ini segera berlaku untuk commit berikutnya, tetapi tidak mengubah commit yang sudah ada.
