Skip to content

Mengelola dua akun GitHub (Personal dan Kerja/Kedua) di satu mesin seringkali menimbulkan konflik izin (permission denied) jika tidak dikonfigurasi dengan benar.

Cara paling tepat, praktis, dan aman untuk jangka panjang adalah menggunakan SSH Config. Metode ini memungkinkan Anda memberi label ("alias") pada akun kedua, sehingga VS Code tahu kunci mana yang harus dipakai tanpa perlu logout-login berulang kali.

Berikut adalah langkah-langkahnya (Diasumsikan Anda menggunakan OS Windows berdasarkan riwayat percakapan sebelumnya):

Langkah 1: Buat SSH Key Baru untuk Akun Kedua

Jangan menimpa SSH key utama Anda. Kita akan buat yang baru khusus untuk akun kedua.

  1. Buka Terminal (Git Bash atau PowerShell).
  2. Masuk ke folder .ssh:
    bash
    cd ~/.ssh
    (Jika error, biasanya lokasinya di C:\Users\NamaUser\.ssh)
  3. Generate kunci baru (ganti email dengan email akun kedua):
    bash
    ssh-keygen -t ed25519 -C "email_akun_kedua@example.com" -f "id_akun_kedua"
  4. Saat diminta passphrase, boleh dikosongkan (enter saja) agar praktis.
  5. Sekarang Anda punya dua file baru: id_akun_kedua (private) dan id_akun_kedua.pub (public).

Langkah 2: Daftarkan Kunci ke GitHub Akun Kedua

  1. Buka file public key dan salin isinya:
    bash
    cat id_akun_kedua.pub
    (Atau buka file .pub tersebut dengan Notepad dan copy isinya).
  2. Login ke GitHub.com menggunakan Akun Kedua.
  3. Masuk ke Settings > SSH and GPG keys > New SSH key.
  4. Paste kuncinya dan simpan.

Langkah 3: Konfigurasi File config SSH

Ini adalah rahasia agar perpindahan akun berjalan otomatis.

  1. Di folder .ssh tadi, buat atau edit file bernama config (tanpa ekstensi .txt).

  2. Buka file tersebut dengan VS Code atau Notepad:

    bash
    code config
  3. Tambahkan konfigurasi berikut di bagian paling bawah:

    text
    # Akun Utama (Default) - biarkan menggunakan id_rsa atau id_ed25519 yang lama
    Host github.com
      HostName github.com
      User git
      IdentityFile ~/.ssh/id_ed25519
    
    # Akun Kedua (Alias)
    Host github-akun2
      HostName github.com
      User git
      IdentityFile ~/.ssh/id_akun_kedua

    Catatan: github-akun2 adalah alias yang bebas Anda namai.

Langkah 4: Clone Repository Akun Kedua

Sekarang, saat Anda ingin membuka proyek dari akun kedua, jangan gunakan link standar. Ubah sedikit domainnya sesuai alias yang Anda buat di atas.

  • Link Asli: git@github.com:username2/repo-proyek.git
  • Link Modifikasi: git@github-akun2:username2/repo-proyek.git

Jalankan perintah clone di terminal:

bash
git clone git@github-akun2:username2/repo-proyek.git

Langkah 5: Atur Identitas Lokal (Penting)

Setelah proyek ter-clone dan folder terbuka di VS Code, Anda perlu memastikan bahwa jika Anda melakukan git commit, nama yang muncul adalah nama Akun Kedua, bukan Akun Utama.

  1. Masuk ke terminal di dalam folder proyek tersebut.
  2. Jalankan perintah ini (ini hanya berlaku untuk folder ini saja, tidak mengganggu akun utama):
    bash
    git config user.name "Nama Akun Kedua"
    git config user.email "email_akun_kedua@example.com"

Bagaimana Cara Kembali ke Akun Utama?

Anda tidak perlu melakukan apa-apa.

Karena di Langkah 3 kita mengatur Host github.com menggunakan kunci asli Anda, maka semua proyek lama atau proyek baru yang Anda clone secara biasa (tanpa alias github-akun2) akan otomatis menggunakan akun utama Anda.

Rangkuman Alur Kerja

  • Proyek Utama: git clone git@github.com:user/repo.git (Jalan seperti biasa).
  • Proyek Kedua: git clone git@github-akun2:user/repo.git (Otomatis pakai kunci kedua).

Apakah Anda ingin saya pandu untuk mengecek apakah file config SSH Anda sudah ada sebelumnya atau belum?