🐙

Githubにアカウントを作成したあとSSH接続するまで

2024/06/03に公開

はじめに

この記事ではGithubのアカウントを作成したあと、手元のPCからGithub上のソースコードに変更を加えるまでの作業を備忘録として残します。

作業環境

  • OS: MacOS Sonoma 14.5
  • ターミナル: zsh(VSCode)

この記事内の作業はすべてVisualStudio Codeを使用するため、まだ入手していない方は以下のURLからダウンロードを行ってください。

https://code.visualstudio.com/

作業手順

1. 認証用の鍵を作成する

VSCodeで「Ctrl + `」を押すとターミナルが開きます。(開かない方は画面上部から表示 → ターミナル)
以下のコマンドをターミナルに貼り付けて実行し、認証用の鍵を入れるディレクトリを作成してください。

zsh
mkdir ~/.ssh

ディレクトリを作成したら、次の作業を行うために以下のコマンドで作成したディレクトリに移動しておきます。

zsh
cd ~/.ssh

以下のコマンドを実行し認証を行うための鍵を生成します。
"your_email@example.com"の部分はGithubのEmailsを開き、Primaryと表示されているメールアドレスに置き換えてから実行してください。

zsh
ssh-keygen -t ed25519 -C "your_email@example.com"

https://github.com/settings/emails

何やら英語で質問されますが、すべてエンターキーを押し先に進んでしまいましょう。

2. 認証の設定ファイルを作成する

以下のコマンドを実行し、設定用のファイルを作成します。

zsh
touch ~/.ssh/config

作成したファイルを以下のコマンドを実行し開きます。

zsh
code ~/.ssh/config

コマンド実行時、VSCode上でメッセージが表示されますが「信頼する」を押して先に進みます。

ファイルが開いたら以下の内容を入力し、保存してください。(⌘ + sや画面上部のファイル → 保存)

config
Host github.com
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_ed25519

3. 認証情報をGithubに追加する

以下のコマンドを実行し、作成した認証用の鍵をコピーしておきます。

zsh
pbcopy < ~/.ssh/id_ed25519.pub

GithubのSSH keysを開きます。
https://github.com/settings/keys

ページを開いたら[New SSH key]をクリックし新規登録ページへ移動します。

Keyの入力欄にコピーした内容を貼り付けます。(⌘ + vや右クリック → 貼り付け)
titleやKey typeは特に操作せず、[Add SSH key]をクリックし保存しましょう。

4. SSHの接続テスト

VSCodeのターミナルに戻り以下のコマンドを実行します。

zsh
ssh -T git@github.com

以下のように表示される場合「yes」と入力しエンターキーで次に進みましょう。

zsh
> The authenticity of host 'github.com (IP ADDRESS)' can't be established.
> ED25519 key fingerprint is SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU.
> Are you sure you want to continue connecting (yes/no)?

以下のように表示されれば接続は完了です。

zsh
> Hi USERNAME! You've successfully authenticated, but GitHub does not
> provide shell access.

参考資料

https://docs.github.com/ja/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent

https://docs.github.com/ja/authentication/connecting-to-github-with-ssh/testing-your-ssh-connection

Discussion