<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Habib Ali Machpud</title>
    <description>The latest articles on DEV Community by Habib Ali Machpud (@bluething).</description>
    <link>https://dev.to/bluething</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F222258%2F993e4a00-59b4-420d-9f9f-48eb453da4b6.jpeg</url>
      <title>DEV Community: Habib Ali Machpud</title>
      <link>https://dev.to/bluething</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/bluething"/>
    <language>en</language>
    <item>
      <title>Menggunakan Dua Akun GitHub di Satu Laptop (Office + Pribadi) dengan SSH Key Terpisah</title>
      <dc:creator>Habib Ali Machpud</dc:creator>
      <pubDate>Tue, 18 Nov 2025 08:01:50 +0000</pubDate>
      <link>https://dev.to/bluething/menggunakan-dua-akun-github-di-satu-laptop-office-pribadi-dengan-ssh-key-terpisah-mp4</link>
      <guid>https://dev.to/bluething/menggunakan-dua-akun-github-di-satu-laptop-office-pribadi-dengan-ssh-key-terpisah-mp4</guid>
      <description>&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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:&lt;br&gt;
&lt;code&gt;Permission denied to wrong-user&lt;/code&gt;&lt;br&gt;
Saya akan membahas solusi yang diterapkan untuk mengatasi masalah ini.&lt;/p&gt;
&lt;h2&gt;
  
  
  Tujuan Akhir
&lt;/h2&gt;

&lt;p&gt;Setelah setup selesai, kamu bisa:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;push ke akun kantor
→ &lt;a href="mailto:git@github.com-office"&gt;git@github.com-office&lt;/a&gt;:company/repo.git &lt;/li&gt;
&lt;li&gt;push ke akun personal
→ &lt;a href="mailto:git@github.com-personal"&gt;git@github.com-personal&lt;/a&gt;:username/repo.git&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;dan Git akan otomatis memilih SSH key yang tepat.&lt;/p&gt;
&lt;h2&gt;
  
  
  Buat SSH Key untuk Akun Personal
&lt;/h2&gt;

&lt;p&gt;Jika akun kantor sudah punya key, sekarang buat key baru untuk akun personal:&lt;br&gt;
&lt;code&gt;ssh-keygen -t ed25519 -C "email-pribadi@example.com"&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Ketika muncul pertanyaan:&lt;br&gt;&lt;br&gt;
&lt;code&gt;Enter file in which to save the key:&lt;/code&gt; &lt;br&gt;
Jangan gunakan default. Ganti nama file: &lt;br&gt;
&lt;code&gt;~/.ssh/gitpersonal&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Nama file bebas, yang penting unik.&lt;/p&gt;
&lt;h2&gt;
  
  
  Tambahkan ke ssh-agent
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;eval "$(ssh-agent -s)"
ssh-add ~/.ssh/gitpersonal
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Cek key yang sudah ter-load. &lt;br&gt;
&lt;code&gt;ssh-add -l&lt;/code&gt; &lt;br&gt;
Seharusnya ada dua key: kantor + personal.&lt;/p&gt;
&lt;h2&gt;
  
  
  Tambahkan Public Key ke GitHub Personal
&lt;/h2&gt;

&lt;p&gt;Tampilkan public key:&lt;br&gt;&lt;br&gt;
&lt;code&gt;cat ~/.ssh/gitpersonal.pub&lt;/code&gt; &lt;br&gt;
Copy → buka GitHub →&lt;br&gt;
Settings → SSH and GPG Keys → New SSH Key&lt;/p&gt;
&lt;h2&gt;
  
  
  Konfigurasi ~/.ssh/config
&lt;/h2&gt;

&lt;p&gt;Edit file:&lt;br&gt;&lt;br&gt;
&lt;code&gt;nano ~/.ssh/config&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Tambahkan dua blok host:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;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
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Ubah Remote URL pada Setiap Repo
&lt;/h2&gt;

&lt;p&gt;Ini bagian yang paling sering terlewat 🔥&lt;br&gt;
Setiap repo harus diarahkan ke host alias yang benar.&lt;/p&gt;

&lt;p&gt;🔸 Repo personal &lt;br&gt;
&lt;code&gt;git remote set-url origin git@github.com-personal:akunpersonal/nama-repo.git&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;🔸 Repo kantor &lt;br&gt;
&lt;code&gt;git remote set-url origin git@github.com-office:akunkantor/nama-repo.git&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Cek:&lt;br&gt;&lt;br&gt;
&lt;code&gt;git remote -v&lt;/code&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Test Koneksi
&lt;/h2&gt;

&lt;p&gt;🔸 Test akun kantor &lt;br&gt;
&lt;code&gt;ssh -T git@github.com-office&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Harus keluar:&lt;br&gt;&lt;br&gt;
Hi akunkantor! You've successfully authenticated...&lt;/p&gt;

&lt;p&gt;🔸 Test akun personal &lt;br&gt;
&lt;code&gt;ssh -T git@github.com-personal&lt;/code&gt; &lt;br&gt;
Harus keluar:&lt;br&gt;&lt;br&gt;
&lt;code&gt;Hi akunpersonal! You've successfully authenticated...&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Kalau masih salah akun → berarti ssh-agent belum memuat key yang benar.&lt;/p&gt;
&lt;h2&gt;
  
  
  Troubleshooting Umum
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Masih pakai akun yang salah?
&lt;/h3&gt;

&lt;p&gt;Coba reset agent:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ssh-add -D
ssh-add ~/.ssh/gitkantor
ssh-add ~/.ssh/gitpersonal
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Remote URL masih HTTPS
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;https://github.com/username/repo.git&lt;/code&gt; &lt;br&gt;
Harus diganti ke SSH host alias seperti:&lt;br&gt;&lt;br&gt;
&lt;code&gt;git@github.com-personal:username/repo.git&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  SSH config typo
&lt;/h3&gt;

&lt;p&gt;Pastikan:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;IdentityFile ejaannya benar. &lt;/li&gt;
&lt;li&gt;Path file benar. &lt;/li&gt;
&lt;li&gt;Host alias sama dengan remote URL&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>github</category>
      <category>git</category>
      <category>ssh</category>
    </item>
  </channel>
</rss>
