Lewati ke konten utama
๐Ÿš€ nusa.id cloud server linux indonesialihat paket

Cara Konfigurasi Git Client di Ubuntu 24.04

ยท 4 menit membaca
Aidil Putra
Maintainer

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:

FileFungsi
~/.ssh/id_ed25519Private key. Jangan pernah dibagikan
~/.ssh/id_ed25519.pubPublic 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:

  1. Public key belum ditambahkan ke Git provider. Tambahkan public key melalui pengaturan akun.

  2. ssh-agent tidak berjalan. Jalankan ulang eval "$(ssh-agent -s)" dan ssh-add ~/.ssh/id_ed25519.

  3. Izin file SSH salah. Perbaiki izin:

    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/id_ed25519
    chmod 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.