Help us understand the problem. What is going on with this article?

Githubで[Error: Key already in use]と表示された場合の複数リポジトリのSSH鍵の使い分け方

More than 1 year has passed since last update.

前提

検索してもなかなかまとまった情報が出てこなかったため、自分用のメモです。

リポジトリAは設定済み。リポジトリBを作成したがリポジトリAで登録済みの重複した鍵は Error: Key already in use と表示されるのでここからどうやって鍵を設定したかを書きます。

目次

  1. 鍵を作る
  2. Githubに鍵を登録する
  3. ~/.ssh/config ファイルに設定を書く
  4. ローカルにあるcloneしたディレクトリに行き、remoteのurlを書き換える

手順

鍵を作る

  • ssh-keygen -t rsa コマンドでリポジトリB用の鍵を作成。 ファイル名を聞かれるので任意のファイル名を入力する。(今回はtest)
❯ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/ユーザー名/.ssh/id_rsa): /Users/ユーザー名/.ssh/test
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/ユーザー名/.ssh/test.
Your public key has been saved in /Users/ユーザー名/.ssh/test.pub.

Githubに鍵を登録する

  • GitHubで作成した鍵を登録する。任意のリポジトリのページの Settings→Deploy keysAdd deploy key を押下する。
    スクリーンショット 2018-09-18 14.59.06.png

  • title にわかりやすいように鍵のファイル名と同じ名前を入力。その後 Keytest.pub の中身を全てコピペし Add key を押下。
    スクリーンショット 2018-09-18 15.02.07.png

~/.ssh/config ファイルに設定を書く

  • sudo vi ~/.ssh/config でssh configファイルを編集。(なければ作成)
Host github-任意の名前
  User git
  Port 22
  HostName github.com
  IdentityFile ~/.ssh/test(ssh-keygenで作った鍵のファイル名)
  TCPKeepAlive yes
  IdentitiesOnly yes

こんな感じで記述して保存。

ローカルにあるcloneしたディレクトリに行き、remoteのurlを書き換える

  • git remote -v すると多分 git@github.com と付いてると思うので、ssh configファイルに記述した宛先に書き換える。
❯ git remote -v
origin  git@github.com:ユーザー名/リポジトリ名.git (fetch)
origin  git@github.com:ユーザー名/リポジトリ名.git (push)

❯ git remote set-url origin git@github-任意の名前:ユーザー名/リポジトリ名.git
↓()
❯ git remote set-url origin git@github-flower:SugarShooting
Star/FlowerPhotoScore.git

終了

  • 適当にファイルを編集してaddして、commitしてみて git push できればOK。
  • pushがrejectされた場合、git fetch して git merge した内容をコミットしてから git push すれば解決できる。
Ancient_Scapes
たまに記事を書く
yumemi
みんなが知ってるあのサービス、実はゆめみが作ってます。スマホアプリ/Webサービスの企画・UX/UI設計、開発運用。Swift, Kotlin, PHP, Vue.js, React.js, Node.js, AWS等エンジニア・クリエイターの会社です。東京(三軒茶屋)/京都(四条烏丸)/札幌/大阪/福岡に展開中!Twitterで情報配信中https://twitter.com/yumemiinc
http://www.yumemi.co.jp
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした