4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Github】 複数アカウントでssh接続する方法

Last updated at Posted at 2022-02-03

Githubアカウントを複数使用している場合、下記のエラーが発生することがあります。

fatal: Could not read from remote repository. 
Please make sure you have the correct access rights and the repository exists.

これは、既にローカル(Git)とリモート(Github)を繋いでいる場合、そのアカウントと既存のsshキーが紐づいているため、新しくsshキーを発行して、Githubに登録する必要があります。

難しいことはさておき、解決策を解説していきます。

1. sshキーを発行する

cd ~/.ssh

上記コマンドを実行してsshディレクトリに移動。
次に接続したいGithubアカウント用のsshキーを発行します。

ssh-keygen -t rsa -C [接続したいGithubのメールアドレス] -f [ファイル名]

([]部分を入れ替えてください。)
自分はプライベート用のGithubアカウントを接続したかったので、ファイル名をprivateにしました。
次に下記コマンドを実行してファイルが作成されているか確認してください。

ls

おそらく、2つファイルが作成されています。
private → 秘密鍵
private.pub → 公開鍵

2. 発行したsshキーをコピーする

pbcopy < ~/.ssh/公開鍵名

上記コマンドを実行すると公開鍵をコピーできます。
自分の場合はpbcopy < ~/.ssh/private.pubとなります。

3. コピーした公開鍵をGithubに追加する

SSH接続したいGithubアカウントにログインし、右上アイコン→SettingSSH and GPG keysに移動。
New SSH keyを押して任意のタイトルと先ほどコピーした公開鍵を追加します。

スクリーンショット 2022-02-01 23.46.31.png

4. configファイルを編集する

次に先ほど作成した公開鍵と秘密鍵のファイルと同階層にあるconfigファイルを編集していきます。

open config

上記コマンドでconfigファイルを開き、下記を追加。

Host github-[任意の文字]
  User git
  Port 22
  HostName github.com
  IdentityFile ~/.ssh/秘密鍵
  TCPKeepAlive yes
  IdentitiesOnly yes

簡単に説明すると、git remoteで登録しているurlにgithub-privateのホスト名がある場合は、IdentityFileに記載している秘密鍵を参照するよ〜っていうイメージです。

5. remoteのURLを変更する

すでにリモートリポジトリと接続している場合、下記のようなURLになっていると思います。

git@[Host name]:[Account name]/[Repository name].git

[Host name]の部分を、先ほどconfigファイルに設定したホスト名に書き換えます。

例えば、configファイルのホスト名をgithub-privateにしている場合、

git@github-private:test/[Repository name].git

上記のように書き換えます。
書き換え方については、

git remote set-url origin git@github-private:test/test.git

でURLを書き換えることができます。

以上で冒頭に載せたエラーが解決し、複数アカウントでssh接続ができるようになってるかと思います。

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?