From ad434c342270b1975126ddd8a9177e5ad9384d2d Mon Sep 17 00:00:00 2001 From: Jasmerah1966 Date: Tue, 24 Oct 2023 05:38:20 +0700 Subject: [PATCH] chore: Artikel baru: Signing GitHub commit --- .../feature-git-commit-verified-sign.jpg | Bin 0 -> 25649 bytes .../index.id.md | 183 ++++++++++++++++++ 2 files changed, 183 insertions(+) create mode 100644 content/tutorials/how-to-create-verified-sign-git-commit/feature-git-commit-verified-sign.jpg create mode 100644 content/tutorials/how-to-create-verified-sign-git-commit/index.id.md diff --git a/content/tutorials/how-to-create-verified-sign-git-commit/feature-git-commit-verified-sign.jpg b/content/tutorials/how-to-create-verified-sign-git-commit/feature-git-commit-verified-sign.jpg new file mode 100644 index 0000000000000000000000000000000000000000..76be8ec005a5d2d1d463f4e756c97176eb32a41b GIT binary patch literal 25649 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 EFKfw5?*IS* literal 0 HcmV?d00001 diff --git a/content/tutorials/how-to-create-verified-sign-git-commit/index.id.md b/content/tutorials/how-to-create-verified-sign-git-commit/index.id.md new file mode 100644 index 0000000..191f87d --- /dev/null +++ b/content/tutorials/how-to-create-verified-sign-git-commit/index.id.md @@ -0,0 +1,183 @@ +--- +title: "Cara Setting 'Verified' (Sign) Git Commit Dengan SSH atau GPG Signature (Linux)" +description: "Langkah-langkah dan cara menambahkan 'Verified' commit message pada GitHub menggunakan SSH Signing Key atau GPG Signing Key." +# linkTitle: +date: 2023-10-23T23:32:49+07:00 +lastmod: +draft: false +noindex: false +# comments: false +nav_weight: 1000 +# nav_icon: +# vendor: bootstrap +# name: toggles +# color: '#e24d0e' +series: +# - Tutorial +categories: + - TIL +tags: + - Git + - GitHub + - SSH + - PGP +images: +# menu: +# main: +# weight: 100 +# params: +# icon: +# vendor: bs +# name: book +# color: '#e24d0e' +authors: + - jasmerah1966 +--- + +Cara menambahkan **"Verified"** _commit message_ pada **GitHub** menggunakan **SSH Signing Key** atau **GPG Signing Key**. + + +--- + +Jika Anda sering berkunjung ke halaman _commit history_ dari sebuah **GitHub** repositori, Anda mungkin menemukan ada beberapa _commit message_ yang memiliki label **"Verified"** berwarna hijau, tidak berlabel, atau bahkan berlabel **"Unverified"** dengan label berwarna orange. + +Fitur pada GitHub tersebut menandakan bahwa _commit_ atau _tag_ tersebut berasal dari sumber yang otentik dan telah terverifikasi oleh GitHub. Hal ini penting supaya pengguna lain yang menggunakan repositori tersebut yakin bahwa perubahan yang dilakukan pada repositori tersebut memang benar dari sumber yang sudah terverifikasi. + +Sampai artikel ini dibuat, ada 3 cara untuk menandatangani atau __signing__ pesan _commit_ tersebut, yaitu dengan menggunakan **GPG signature**, **SSH signature**, dan **S/MIME signature**. Dari ketiga metode yang ada, saya ingin berbagi pengalaman saya menggunakan GPG dan SSH signature untuk melakukan _signing_. + +Untuk mengikuti langkah-langkah di artikel ini, pastikan Anda sudah dapat menggunakan aktifitas seperti _commit_ dari komputer Anda tanpa ada masalah. Jika Anda belum pernah mensetting Git, ikuti artikel saya sebelumnya yang berjudul [Cara Menggunakan Git Melalui Protokol SSH Untuk Akun GitHub]({{< ref "/tutorials/how-to-use-git-using-ssh-protocol-for-github/index.id.md" >}}). + +## Menggunakan SSH Key Signature +Cara paling mudah adalah menggunakan metode SSH signature. Anda dapat menggunakan SSH key yang sudah Anda gunakan untuk __Authentication key__ dan mengupload _public key_ yang sama untuk digunakan sebagai __Signing key__. + +### Menambahkan SSH Key Sebagai Signing Key + +Untuk menambahkan SSH key sebagai __Signing key__ di akun GitHub Anda: + +1. Masuk ke __"Settings"__ > __"SSH and GPG keys"__ > Klik tombol __"New SSH key"__. +2. Isi __"Title"__ dengan apapun yang mudah Anda ingat untuk mengidentifikasi _SSH key_ Anda. +3. Pada bagian __"Key type"__, pilih __"Signing Key"__. +4. Terakhir kembali ke terminal dan _paste_ isi dari __SSH public key__ ke _textarea_ __"Key"__. Setelah itu klik tombol __Add SSH key"__. + +### Mengubah Konfigurasi Git di Komputer Anda + +Setelah SSH Signing key ditambahkan ke Akun GitHub, Anda perlu merubah konfigurasi git `gpg.format` ke `ssh` dengan cara menjalankan perintah berikut: +```shell +git config --global gpg.format ssh +``` + +Terakhir update config `user.signingkey` dan masukkan lokasi dimana **SSH PUBLIC KEY** yang sudah Anda upload. +```shell +git config --global user.signingkey ~/.ssh/github_key.pub +``` +Catatan: Ubah `~/.ssh/github_key.pub` dengan lokasi sebenarnya PUBLIC KEY Anda disimpan. + +## Menggunakan GPG Key Signature + +Selain menggunakan SSH Key Signature, Anda bisa menggunakan GPG Key Signature untuk melakukan _signing commit_. + +### Membuat GPG Key +Jika Anda belum memiliki _GPG key pair_, Anda dapat membuatnya dengan menjalankan perintah berikut: +```shell +gpg --full-generate-key +``` + +Setelah menjalankan perintah diatas, Anda akan diminta untuk melengkapi informasi, diantaranya: +1. Jenis: Pilih apa saja, Saya rekomendasikan untuk menggunakan default saja, yaitu `RSA and RSA`. +2. Key size: Isi antara 1024 hingga 4096. Default 3072. Saya rekomendasikan untuk menggunakan `4096`. +3. Seberapa lama GPG key tersebut valid: Saya rekomendasikan untuk menggunakan default (`0`, tidak ada tanggal expire). +4. Masukkan informasi Nama, email, dan komentar. Perhatikan pada saat mengisi informasi email, **pastikan email yang Anda masukan sama dengan email yang Anda gunakan di GitHub** (dan sudah melakukan verifikasi). +5. Masukkan `passpharse` GPG key Anda. + +Contoh output dari perintah `gpg --full-generate-key`: + +```plain +gpg (GnuPG) 2.2.41; Copyright (C) 2022 g10 Code GmbH +This is free software: you are free to change and redistribute it. +There is NO WARRANTY, to the extent permitted by law. + +Please select what kind of key you want: + (1) RSA and RSA (default) + (2) DSA and Elgamal + (3) DSA (sign only) + (4) RSA (sign only) + (14) Existing key from card +Your selection? 1 +RSA keys may be between 1024 and 4096 bits long. +What keysize do you want? (3072) 4096 +Requested keysize is 4096 bits +Please specify how long the key should be valid. + 0 = key does not expire + = key expires in n days + w = key expires in n weeks + m = key expires in n months + y = key expires in n years +Key is valid for? (0) 0 +Key does not expire at all +Is this correct? (y/N) y + +GnuPG needs to construct a user ID to identify your key. + +Real name: Jasmerah1966 +Email address: jasmerah1966@example.com +Comment: GPG sign key untuk GitHub +You selected this USER-ID: + "Jasmerah1966 (GPG sign key untuk GitHub) " + +Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O +We need to generate a lot of random bytes. It is a good idea to perform +some other action (type on the keyboard, move the mouse, utilize the +disks) during the prime generation; this gives the random number +generator a better chance to gain enough entropy. +We need to generate a lot of random bytes. It is a good idea to perform +some other action (type on the keyboard, move the mouse, utilize the +disks) during the prime generation; this gives the random number +generator a better chance to gain enough entropy. +gpg: revocation certificate stored as '/home/jasmerah1966/.gnupg/openpgp-revocs.d/F5FEE1EF836C62F5361A643B156C485C2EB2C1D6.rev' +public and secret key created and signed. + +pub rsa4096 2023-10-23 [SC] + F5FEE1EF836C62F5361A643B156C485C2EB2C1D6 +uid Jasmerah1966 (GPG sign key untuk GitHub) +sub rsa4096 2023-10-23 [E] +``` + +### Mendapatkan Informasi GPG Key Anda +Untuk melihat list GPG key Anda (memiliki _secret key_), Anda dapat menjalankan perintah berikut: + +```shell +gpg --list-secret-keys --keyid-format=long +``` + +Contoh output dari perintah diatas: +```plain +/home/jasmerah1966/.gnupg/pubring.kbx +------------------------------------- +sec rsa4096/156C485C2EB2C1D6 2023-10-23 [SC] + F5FEE1EF836C62F5361A643B156C485C2EB2C1D6 +uid [ultimate] Jasmerah1966 (GPG sign key untuk GitHub) +ssb rsa4096/04951FB42332019F 2023-10-23 [E] +``` + +Kemudian jalankan perintah berikut untuk mendapatkan GPG key dalam format **ASCII armor**: + +```shell +gpg --armor --export 156C485C2EB2C1D6 +``` + +> _**Catatan**: Ubah key ID milik saya diatas (`156C485C2EB2C1D6`) dengan key ID milik Anda._ + +Copy GPG key Anda (diawali dari `-----BEGIN PGP PUBLIC KEY BLOCK-----` sampai `-----END PGP PUBLIC KEY BLOCK-----`) yang setelah ini perlu Anda tambahkan ke akun GitHub Anda. + +### Menambahkan GPG Ke Akun GitHub Anda + +1. Masuk ke __"Settings"__ > __"SSH and GPG keys"__ > Klik tombol __"New GPG key"__. +2. Isi __"Title"__ dengan apapun yang mudah Anda ingat untuk mengidentifikasi _GPG key_ Anda. +3. Masukkan GPG key Anda ke _textarea_ __"Key"__. Setelah itu klik tombol __Add GPG key"__. + +## Melakukan Signing Commit +Jika sudah disetting dengan benar, Anda bisa melakukan commit dengan perintah `git commit -S` atau `git commit -S -m 'Pesan commit kamu'` + +Untuk signing dengan **S/MIME** saya belum pernah memiliki kesempatan untuk mencoba. Mungkin jika ada yang ingin menambahkan silahkan ditambahkan dengan melakukan pull request. + +Semoga membantu.