Artikel ini mungkin berguna bagi Anda yang ingin memulai menggunakan Git dan menghubungkannya ke GitHub menggunakan protokol SSH. Proses dimulai dari membuat SSH key pair hingga menambahkan SSH public key ke akun GitHub Anda.
Git merupakan salah satu version control yang paling disukai dan paling banyak digunakan oleh para software developer di seluruh dunia. Beberapa “Cloud” version control berbasis Git seperti GitLab, GitHub, hingga Codeberg menawarkan beberapa fitur unik satu dengan yang lainnya. Namun ada fitur yang pasti ada di tiap provider, yaitu mengakses git repositori menggunakan protokol SSH.
Proses authentikasi menggunakan protokol SSH memanfaatkan SSH public dan private key sehingga Anda tidak perlu memberikan username dan personal access token setiap ingin mengakses atau melakukan commit ke repositori Anda.
Kali ini saya ingin berbagi cara menggunakan protokol SSH sebagai metode autentikasi ke spesifik provider, yaitu GitHub. Namun sebelum memulai, pastikan git
dan ssh
sudah terinstall di komputer Anda dan Anda sudah memiki akun di GitHub.com.
Global Config
Catatan: Jika Anda sudah pernah mensetting global config untuk Git, Anda bisa melewati langkah ini.
Jalankan perintah berikut untuk mensetting nama dan email Anda saat melakukan commit:
1git config --global user.name "John Doe"
2git config --global user.email [email protected]
Ubah John Doe
dan [email protected]
sesuai dengan Akun milik Anda.
Catatan: Pastikan alamat email sesuai dengan alamat email yang Anda gunakan dan sudah terverifikasi di GitHub.
Membuat SSH key
Ketika Anda ingin mengakses private repositori Anda atau melakukan perubahan ke repositori GitHub Anda menggunakan SSH, Anda perlu menggunakan SSH private key untuk proses autentikasi. Maka dari itu, buat SSH key pair menggunakan perintah berikut:
1mkdir ~/.ssh && chmod 700 ~/.ssh
2ssh-keygen -t ed25519 -f ~/.ssh/github_key -C "SSH key untuk github"
Perintah diatas akan membuat folder .ssh
di $HOME
direktori, merubah folder _permission_nya, dan meletakkan private key di $HOME/.ssh/github_key
dan public key di $HOME/.ssh/github_key.pub
. Contoh output dari perintah ssh-keygen
diatas:
1Generating public/private ed25519 key pair.
2Enter passphrase (empty for no passphrase):
3Enter same passphrase again:
4Your identification has been saved in /home/jasmerah1966/.ssh/github_key
5Your public key has been saved in /home/jasmerah1966/.ssh/github_key.pub
6The key fingerprint is:
7SHA256:dPniZJhVTjmj2gOi5Q4we8gucBs6b+4fpPJ6J2xnj7Q SSH key untuk github
8The key's randomart image is:
9+--[ED25519 256]--+
10| o. |
11| =+ |
12| . +..o |
13| o o..=.. |
14| . =.+ .S++ . |
15|. *o+ . .+o. |
16|o=.+oo .. |
17|+oO.++. |
18|.@=*E.. |
19+----[SHA256]-----+
Catatan: Anda akan diminta untuk memasukkan
passphrase
pada saat proses pembuatan SSH key pair diatas. Terserah Anda ingin mengisi atau mengosongi passphrase SSH key Anda. Jika Anda mengisi passphrase, maka Anda akan diminta memberikan passphrase saat Anda menggunakan SSH key tersebut.
Menggunakan SSH Config File
Pada umumnya, banyak tutorial di luar sana yang menggunakan ssh-agent
sebagai _SSH key manager_nya. Namun saya lebih menyukai trik yang digunakan oleh @ditatompel dengan Manfaatkan Fitur SSH Config File.
Tambahkan (atau buat jika filenya belum ada) baris berikut ini ke SSH config file di ~/.ssh/config
:
1# ~/.ssh/config file
2# ...
3
4Host github.com
5 User git
6 PubkeyAuthentication yes
7 IdentityFile ~/.ssh/github_key
8
9# ...
Pastikan IdentityFile
mengacu ke SSH private key yang sudah Anda buat sebelumnya (pada contoh di artikel ini adalah ~/.ssh/github_key
).
Menambahkan SSH Public Key Ke Akun GitHub Anda
Setelah memiliki SSH key pair dan SSH config file dikonfigurasi, saatnya menambahkan SSH public Key ke akun GitHub Anda.
- Masuk ke “Settings” > “SSH and GPG keys” > Klik tombol “New SSH key”.
- Isi “Title” dengan apapun yang mudah Anda ingat untuk mengidentifikasi SSH key Anda.
- Pada bagian “Key type”, pilih “Authentication Key”.
- Terakhir kembali ke terminal dan paste isi dari SSH public key (pada contoh tutorial ini adalah
~/.ssh/github_key.pub
) key textarea “Key”. Setelah itu klik tombol Add SSH key".
Dengan begitu proses konfigurasi sudah selesai dan Anda dapat mencoba melakukan lakukan koneksi ke GitHub dengan perintah ssh -T github.com
. Seharusnya Anda menerima pesan bahwa koneksi Anda ke GitHub berhasil: “Hi jasmerah1966! You’ve successfully authenticated, but GitHub does not provide shell access.”.
Selanjutnya: Baca Cara Setting ‘Verified’ (Sign) Git Commit Dengan SSH atau GPG Signature.