Saat melihat riwayat commit di GitHub, mungkin kamu pernah menemukan badge hijau bertuliskan Verified di samping sebuah commit.
Badge tersebut menandakan bahwa commit telah ditandatangani secara kriptografi dan GitHub berhasil memverifikasi identitas pembuat commit. Dengan kata lain, GitHub dapat memastikan bahwa commit benar-benar berasal dari pemilik akun yang bersangkutan dan bukan hasil manipulasi pihak lain.
Dulu, fitur ini umumnya menggunakan GPG Key yang proses konfigurasinya cukup rumit. Namun saat ini GitHub sudah mendukung SSH Key untuk menandatangani commit, sehingga proses setup menjadi jauh lebih sederhana.
Pada artikel ini kita akan menggunakan SSH Key ED25519 untuk membuat Verified Commit di GitHub.
Apa Itu Verified Commit?
Verified Commit adalah commit yang ditandatangani secara digital menggunakan kunci kriptografi.
Ketika commit di-push ke GitHub, platform akan memverifikasi tanda tangan tersebut dan menampilkan badge:
Verified
Keuntungan menggunakan Verified Commit:
- Membuktikan commit berasal dari akun kamu
- Mencegah pemalsuan identitas commit
- Meningkatkan keamanan repository
- Menambah kredibilitas kontribusi open source
- Menjadi standar di banyak tim dan perusahaan
Mengapa Menggunakan SSH Key?
GitHub mendukung dua metode utama untuk menandatangani commit:
- GPG Key
- SSH Key
SSH Key memiliki beberapa kelebihan:
- Setup lebih sederhana
- Tidak perlu mengelola GPG Key
- Sudah digunakan untuk autentikasi GitHub
- Cocok untuk workflow modern
Karena alasan tersebut, SSH Key menjadi pilihan yang direkomendasikan untuk penggunaan baru.
Prasyarat
Sebelum memulai, pastikan:
- Sudah memiliki akun GitHub
- Git sudah terinstall
- OpenSSH tersedia di sistem
- Git versi 2.34 atau lebih baru
Cek versi Git:
git --version
Contoh output:
git version 2.46.0
Jika versi Git terlalu lama, lakukan update terlebih dahulu.
Langkah 1 — Membuat SSH Key ED25519
Pertama, cek apakah SSH Key sudah tersedia:
ls ~/.ssh/id_ed25519.pub
Jika file tidak ditemukan, buat SSH Key baru:
ssh-keygen -t ed25519 -C "john@example.com"
Tekan Enter untuk menggunakan lokasi default:
~/.ssh/id_ed25519
Setelah selesai, akan terbentuk dua file:
~/.ssh/id_ed25519
Private Key
~/.ssh/id_ed25519.pub
Public Key
Jangan pernah membagikan file private key kepada siapa pun.
Langkah 2 — Menambahkan SSH Key ke GitHub
Lihat isi public key:
cat ~/.ssh/id_ed25519.pub
Salin seluruh hasil output.
Kemudian buka GitHub:
Settings → SSH and GPG Keys
Klik:
New SSH Key
Isi:
- Title: Laptop Kerja
- Key Type: Authentication Key
- Key: Tempelkan public key
Lalu klik Add SSH Key.
Langkah 3 — Menambahkan SSH Key sebagai Signing Key
Masih pada halaman:
Settings → SSH and GPG Keys
Klik:
New SSH Key
Namun kali ini pilih:
Signing Key
Gunakan public key yang sama:
cat ~/.ssh/id_ed25519.pub
Tempelkan dan simpan.
Langkah ini penting karena banyak developer hanya menambahkan Authentication Key dan lupa menambahkan Signing Key.
Akibatnya commit tidak mendapatkan status Verified.
Langkah 4 — Konfigurasi Git
Aktifkan SSH Signing:
git config --global gpg.format ssh
Tentukan SSH Key yang akan digunakan:
git config --global user.signingkey ~/.ssh/id_ed25519.pub
Aktifkan penandatanganan otomatis:
git config --global commit.gpgsign true
Verifikasi konfigurasi:
git config --global --list
Output akan berisi:
gpg.format=ssh
commit.gpgsign=true
Langkah 5 — Membuat Commit Pertama
Buat repository baru:
mkdir hello-world
cd hello-world
git init
Tambahkan file:
echo "# Hello World" > README.md
Commit perubahan:
git add .
git commit -m "Initial commit"
Karena signing sudah aktif, Git akan otomatis menandatangani commit menggunakan SSH Key.
Langkah 6 — Push ke GitHub
Tambahkan remote repository:
git remote add origin git@github.com:johndoe/hello-world.git
Push commit:
git push -u origin main
Setelah proses selesai, buka halaman repository di GitHub.
Jika konfigurasi berhasil, akan muncul badge hijau:
✓ Verified
di samping commit.
Mengatasi Commit yang Tidak Verified
Jika commit masih belum Verified, periksa beberapa hal berikut:
SSH Key Belum Ditambahkan Sebagai Signing Key
Pastikan public key ditambahkan pada bagian:
Settings → SSH and GPG Keys
dengan tipe:
Signing Key
Email Commit Berbeda dengan Akun GitHub
Cek email Git:
git config user.email
Pastikan email tersebut terdaftar pada akun GitHub.
Git Terlalu Lama
Pastikan menggunakan Git versi 2.34 atau lebih baru.
Best Practice
Gunakan ED25519
Untuk setup baru, gunakan:
ssh-keygen -t ed25519
karena lebih cepat dan aman dibanding RSA.
Gunakan Passphrase
Tambahkan passphrase saat membuat SSH Key untuk perlindungan tambahan.
Simpan Private Key dengan Aman
File berikut tidak boleh dibagikan:
~/.ssh/id_ed25519
Jika private key bocor, segera buat key baru dan hapus key lama dari GitHub.
Penutup
Verified Commit merupakan cara sederhana untuk meningkatkan keamanan dan kredibilitas repository GitHub. Dengan dukungan SSH Signing, proses setup menjadi jauh lebih mudah dibanding menggunakan GPG Key.
Jika kamu sudah menggunakan SSH Key untuk mengakses GitHub, hanya diperlukan beberapa langkah tambahan untuk mendapatkan badge Verified pada setiap commit yang dibuat.
Selain terlihat lebih profesional, Verified Commit juga membantu memastikan bahwa seluruh riwayat commit benar-benar berasal dari kontributor yang sah.
Top comments (0)