Skip to content

Multiple SSH Git Account

Posted on:November 27, 2018 at 04:55 PM

Dalam kasus ini, saya akan berbagi tentang cara saya menggunakan beberapa akun git yang berbeda dengan host git yang berbeda juga.

Banyak akun git dengan git host yang berbeda

Contohnya seperti di atas, kita punya banyak akun untuk akses ssh git.

Bagaimana caranya?

Pertama kita membuat ssh key untuk masing-masing user, dari gambar di atas berarti ssh key yang perlu dibuat yaitu ssh key untuk Company A, Company B, Personal Akun. Jangan lupa untuk memberi nama setiap ssh key yang kita buat seperti kegunaannya, misal untuk Company A diberi nama id_rsa_company_a kecuali untuk yang personal, biarkan default (langsung tekan enter saja). Generate SSH Key Pair

Lalu, bikin file config tanpa ekstensi di dalam folder ~/.ssh, folder ~/.ssh ini adalah folder yang secara default ssh-key kita berada.

Host github.com
Hostname github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa

Host gitlab.com
Hostname gitlab.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa

Host company_a.github.com
Hostname github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_company_a

Host company_b.gitlab.com
Hostname gitlab.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_company_b

Untuk konfigurasi yang pertama dan kedua itu kita menggunakan ssh key personal kita dengan host untuk gitlab dan github atau bisa juga tanpa konfigurasi itu. Saya prefer untuk mengisi juga untuk personal biar sekalian ada konfigurasinya.

Untuk konfigurasi yang ketiga dan keempat, itu konfigurasi untuk masing-masing company, kita hanya perlu menambahkan host dengan subdomain nama companynya, lalu untuk hostname adalah ssh host dimana company tersebut menggunakan ssh git. Di sana saya isi github.com untuk Company A dan gitlab.com untuk Company B sesuai yang dipakai masing-masing company.

Penggunaannya kita cukup menambahkan subdomain ketika akan clone suatu project dan tidak perlu menambahkan jika itu akan diclone melalui akun personal.

Contohnya, misal di Company A mempunyai repository Admin Dashboard ketika kita ingin mengclone, kita cukup menggunakan perintah seperti ini

git clone git@company_a.gitlab.com:company_a/admin-dashboard.git

Misal di Company B memiliki repository Landing Web maka jadinya

git clone git@company_b.gitlab.com:company_b/landing-web.git

Untuk akun personal, kita tidak perlu menambahkan

git clone git@github.com:afrijaldz/blog.git

Setelah diclone, konfigurasi ssh akan mengikuti secara default. Jadi ketika akan push atau pull sudah mengarah ke Host masing-masing.

Untuk penjelasan dengan video (berbahasa inggris), bisa dilihat di sini

Configure Multiple SSH with Different Account

Semoga bermanfaat.