同じ PC で複数の Github のアカウントを利用する方法
- 一台のコンピューターで複数の GitHub アカウントを使用する場面があります。新しいアカウントを作成し、元のアカウントには適さないものを投稿することもあるかもしれません。私だけでしょうか…? このたび、私の既存のアカウントにあるリポジトリを新しいアカウントに移行する過程で、私のコンピューターでの設定が完了しましたが、このような場合にどう対応すればよいかについてまとめてみました。
目次
1. SSH キーの生成
- Git Bash を起動します。
- SSH キーを管理するディレクトリに移動し、既存のファイルリストを確認します。
cd ~/.ssh
ls -al # すべてのファイルをリスト形式で表示
- SSH キーを生成します。GitHub で使用するメールアドレスと生成されるキーの名前をそれぞれ指定します。コマンドは以下の通りです。
ssh-keygen -t rsa -C "user1@example.com" -f "id_rsa_user"
- 上記のコマンドを実行すると、セキュリティパスワードの入力を求められますが、Enter キーを押すとパスワードなしで使用できます。
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
- SSH キーの生成が完了したかを確認します。生成されたキーの名前を tmp と指定した場合、tmp および tmp.pub が追加されたことが確認できます。.pub 拡張子が付いているファイルが公開キーのファイルで、付いていないファイルが秘密キーです。
ls -al ~/.ssh
2. GitHub に新しい公開キーを追加する
-
公開キーをアカウントに追加するプロセスを行います。".pub"が付いたファイルが公開キーです。
-
公開キーをコピーするために、VSCode で公開キーのファイルを開いて内容をコピーします。VSCode を使用していない場合は、使用しているエディターを使用して内容をコピーしてください。
code ~/.ssh/id_rsa_user.pub
- GitHub にログインした後、プロファイルの上部にある写真をクリックし、設定をクリックします。
- 左側のサイドバーメニューから「SSH and GPG keys」を選択し、右上の「New SSH key」ボタンをクリックします。
- 「Title」には公開キーを説明する言葉を入力します。私の場合は「my-desktop」と設定しています。そして、「Key」部分にコピーした公開キーを貼り付けた後、下の「Add SSH Key」をクリックします。
3. SSH 設定を行い SSH 接続テストをする
-
Git Bash を起動します。
-
SSH 設定ファイルを作成します。"~/.ssh"に位置する必要があります。既存の設定ファイルが存在する場合は修正し、存在しない場合は新しく作成します。
cd ~/.ssh
code config
- SSH 設定ファイルの内容は次のように記述します。これ以降に追加する SSH があれば、以下に追加します。
# userのためのSSH設定
Host github.com-user
HostName github.com
User user
IdentityFile ~/.ssh/id_rsa_userA
Host
: SSH 接続に使用される代表名です。HostName
: GitHub のドメインです。User
: GitHub ユーザー ID です。IdentityFile
: 以前に生成した個人キーのパスです。
- SSH 接続をテストするために以下のコマンドを実行します。"Hi user! You've successfully authenticated, but GitHub does not provide shell access."と表示されれば、接続に成功したことです。
ssh -T git@github.com-user
4. SSH を通じてリポジトリに接続する
- GitHub でリポジトリを作成し、その SSH アドレスを取得します。
- 取得した SSH アドレスと config に登録した ID を組み合わせてリモートアドレスを登録します。例えば、コピーしたアドレスが "git@github.com:foreverfl/libraries.git" であり、SSH config に登録したユーザーが user であれば、次のように git remote add コマンドを使用してリポジトリアドレスを登録します。
git remote add origin git@github.com-user:foreverfl/libraries.git
-
git push
を使用して現在のフォルダーとリポジトリが接続されているかを確認します。git init
を使用した初期化、git add .
を通じたステージングエリアへの追加、git commit -m [message]
によるコミットなどの説明は省略しました。
5. まとめ
- 複数のアカウントを一台のコンピューターで使用するためには SSH を利用する必要があります。
- SSH を利用するためには、個人キーと公開キーを生成し、個人キーは自分のコンピューターに登録し、公開キーは GitHub に登録する必要があります。
-
git remote add
で自分が使用したいリポジトリを登録して使用します。
皆さんも GitHub で裏垢を作って楽しいコーディングを楽しんでみてくださいね。