DEV Community

Habib Ali Machpud
Habib Ali Machpud

Posted on

Menggunakan Dua Akun GitHub di Satu Laptop (Office + Pribadi) dengan SSH Key Terpisah

Minggu lalu saya memulai masa probation. Salah satu hal yang biasa kita lakukan adalah menyiapkan local environment, salah satunya git. Di perusahaan yang baru ini kami menggunakan github. Sayangnya saya tidak bisa menggunakan akun pribadi, sehingga harus menggunakan akun kantor.

Masalah yang saya hadapi adalah bagaimana tetap menggunakan dua akun dengan dua SSH Key berbeda. GitHub sering salah mengenali akun karena laptop hanya memakai satu SSH key default. Akibatnya muncul error seperti:
Permission denied to wrong-user
Saya akan membahas solusi yang diterapkan untuk mengatasi masalah ini.

Tujuan Akhir

Setelah setup selesai, kamu bisa:

dan Git akan otomatis memilih SSH key yang tepat.

Buat SSH Key untuk Akun Personal

Jika akun kantor sudah punya key, sekarang buat key baru untuk akun personal:
ssh-keygen -t ed25519 -C "email-pribadi@example.com"

Ketika muncul pertanyaan:

Enter file in which to save the key:'
Jangan gunakan default. Ganti nama file:
~/.ssh/gitpersonal`

Nama file bebas, yang penting unik.

Tambahkan ke ssh-agent


eval "$(ssh-agent -s)"
ssh-add ~/.ssh/gitpersonal

Cek key yang sudah ter-load.
ssh-add -l
Seharusnya ada dua key: kantor + personal.

Tambahkan Public Key ke GitHub Personal

Tampilkan public key:

cat ~/.ssh/gitpersonal.pub
Copy → buka GitHub →
Settings → SSH and GPG Keys → New SSH Key

Konfigurasi ~/.ssh/config

Edit file:

nano ~/.ssh/config

Tambahkan dua blok host:
`
Host github.com-office
HostName github.com
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/gitkantor

Host github.com-personal
HostName github.com
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/gitpersonal
`

Ubah Remote URL pada Setiap Repo

Ini bagian yang paling sering terlewat 🔥
Setiap repo harus diarahkan ke host alias yang benar.

🔸 Repo personal
git remote set-url origin git@github.com-personal:akunpersonal/nama-repo.git

🔸 Repo kantor
git remote set-url origin git@github.com-office:akunkantor/nama-repo.git

Cek:

git remote -v

Test Koneksi

🔸 Test akun kantor
ssh -T git@github.com-office

Harus keluar:

Hi akunkantor! You've successfully authenticated...

🔸 Test akun personal
ssh -T git@github.com-personal
Harus keluar:

Hi akunpersonal! You've successfully authenticated...

Kalau masih salah akun → berarti ssh-agent belum memuat key yang benar.

Troubleshooting Umum

Masih pakai akun yang salah?

Coba reset agent:


ssh-add -D
ssh-add ~/.ssh/gitkantor
ssh-add ~/.ssh/gitpersonal

Remote URL masih HTTPS

https://github.com/username/repo.git
Harus diganti ke SSH host alias seperti:

git@github.com-personal:username/repo.git

SSH config typo

Pastikan:

  • IdentityFile ejaannya benar.
  • Path file benar.
  • Host alias sama dengan remote URL

Top comments (0)