検索すると割と出てくるけど、肝心な部分が書いてなかったりで結構困るのでまとめました。

分ける方法

二つのアカウントを使い分けたい場合は config を下記の様に書く。

Host github-private1
  User git
  Port 22
  HostName github.com
  IdentityFile ~/.ssh/private1.rsa
  IdentitiesOnly yes

Host github-private2
  User git
  Port 22
  HostName github.com
  IdentityFile ~/.ssh/private2.rsa
  IdentitiesOnly yes

この設定を書く時に絶対に重要になるのが、IdentitiesOnly という設定なので、コレを yes に設定しておきましょう。
鍵のみの認証という設定なので、これを入れていないと、設定が正しくても先に承認されたユーザーで通されてしまいます。(ハマった人)

こういう感じで二つ分のアカウントの config を書きます。
この時に Host の部分は好きな名前で良いです。

あとは git remote の設定を変更します。
remote リポジトリの名前を origin で設定している場合で書きます。

$ git remote set-url origin git@github-private1:repo_username/repo.git

見たら分かると思いますが、git@github-private1 という書き方が重要です。
この部分でアクセスする時の config を変えています。

remote show origin を実行して、fetch, push の URL が .ssh/config を参照する形になっているかを確認しておきましょう。

ここまで出来ていると、問題無く使用できます。