Git adalah salah satu sistem kontrol versi paling populer yang digunakan oleh developer untuk mengelola kode sumber. Dalam workflow modern, Git biasanya diintegrasikan dengan layanan hosting repositori seperti GitHub. Agar lebih aman dan nyaman, GitHub mengharuskan penggunaan SSH key untuk autentikasi, sehingga kita tidak perlu memasukkan username dan password setiap kali melakukan push atau pull.
1. Install Git di Ubuntu
Pertama, update sistem dan install Git:
sudo apt update
sudo apt install git -yCek versi Git:
git --versionOutput yang diharapkan misalnya:
git version 2.43.02. Konfigurasi Identitas Git
Setelah Git terinstal, atur identitas akun Git secara global di sistem:
git config --global user.name "Nama Anda"
git config --global user.email "[email protected]"Cek konfigurasi:
git config --list3. Membuat SSH Key Baru
Buat SSH key dengan algoritma ed25519 (lebih modern dan aman):
ssh-keygen -t ed25519 -C "[email protected]"Ketika diminta lokasi penyimpanan, tekan Enter agar tersimpan di default path ~/.ssh/id_ed25519.
Jika ingin memberi nama berbeda (misalnya untuk GitHub):
ssh-keygen -t ed25519 -C "[email protected]" -f ~/.ssh/github_id_ed25519Aktifkan ssh-agent:
eval "$(ssh-agent -s)"Tambahkan key ke agent:
ssh-add ~/.ssh/github_id_ed255194. Tambahkan SSH Key ke GitHub
Salin isi public key:
cat ~/.ssh/github_id_ed25519.pubSalin output, lalu buka GitHub:
- Masuk ke Settings → SSH and GPG keys → New SSH key
- Paste key tersebut, beri nama (misalnya
Ubuntu Laptop) - Klik Add SSH key
5. Konfigurasi SSH Client
Agar lebih praktis, kita bisa membuat file konfigurasi:
nano ~/.ssh/configIsi konfigurasi seperti berikut:
# GitHub Account
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/github_id_ed25519
IdentitiesOnly yesSimpan lalu keluar (CTRL+O, CTRL+X).
6. Uji Koneksi SSH
Tes koneksi ke GitHub:
ssh -T [email protected]Jika berhasil, akan muncul pesan:
Hi username! You've successfully authenticated, but GitHub does not provide shell access.7. Clone Repository Menggunakan SSH
Sekarang Anda bisa clone repo GitHub dengan SSH tanpa perlu password:
git clone [email protected]:username/nama-repo.git8. Konfigurasi Multi-Account GitHub dengan SSH Config
Kadang kita memiliki lebih dari satu akun GitHub:
- Akun pribadi untuk project open source
- Akun kantor untuk pekerjaan
Supaya tidak bingung, kita bisa membuat dua SSH key berbeda dan mengatur file ~/.ssh/config agar Git tahu harus pakai key yang mana.
1. Buat SSH Key untuk Setiap Akun
Akun Pribadi:
ssh-keygen -t ed25519 -C "[email protected]" -f ~/.ssh/github_personalAkun Kantor:
ssh-keygen -t ed25519 -C "[email protected]" -f ~/.ssh/github_workTambahkan keduanya ke ssh-agent:
ssh-add ~/.ssh/github_personal
ssh-add ~/.ssh/github_work2. Tambahkan SSH Key ke GitHub
- Untuk akun pribadi → tambahkan
~/.ssh/github_personal.pubke GitHub personal account - Untuk akun kantor → tambahkan
~/.ssh/github_work.pubke GitHub work account
3. Konfigurasi SSH Client
Buka file konfigurasi:
nano ~/.ssh/configIsi dengan:
# Akun GitHub Pribadi
Host github-personal
HostName github.com
User git
IdentityFile ~/.ssh/github_personal
IdentitiesOnly yes
# Akun GitHub Kantor
Host github-work
HostName github.com
User git
IdentityFile ~/.ssh/github_work
IdentitiesOnly yesDengan pengaturan ini, kita bisa menggunakan alias github-personal atau github-work saat clone repo.
4. Clone Repo Sesuai Akun
Clone repo pribadi:
git clone git@github-personal:username/repo-pribadi.gitClone repo kantor:
git clone git@github-work:org/repo-kantor.git5. Set Konfigurasi User per Repository
Agar commit history sesuai akun, Anda bisa mengatur user Git per repo:
Masuk ke direktori repo kantor lalu jalankan:
git config user.name "Nama Kantor"
git config user.email "[email protected]"Untuk repo pribadi:
git config user.name "Nama Pribadi"
git config user.email "[email protected]"Dengan tambahan konfigurasi ini, Anda bisa:
- Menggunakan multi-account GitHub di satu laptop/PC Ubuntu
- Mengatur key SSH yang berbeda per akun
- Menghindari konflik identitas saat commit
Sehingga workflow tetap rapi, baik untuk project pribadi maupun project kantor.




