MacでGitHub用にSSH Keyを作成する

作成:2021.07.13

更新:2021.07.16

開発環境

SSH Keyとは何か?

安全にリモート接続するための鍵。

作成手順

鍵を作成する

鍵を保存するディレクトリを作成。

ターミナル
mkdir ~/.ssh

作成したディレクトリに移動。

ターミナル
cd ~/.ssh

鍵を作成。

ターミナル
ssh-keygen -t rsa -b 4096 -C "GitHubに登録しているメールアドレス" -f 鍵の名前(たとえばid_rsa_githubとか)

任意のパスワードを2回入力すれば、鍵が保存される。

ターミナル(出力結果)
Your identification has been saved in id_rsa_github.
Your public key has been saved in id_rsa_github.pub.
The key fingerprint is:
SHA256:XXXXX
The key's randomart image is:
+---[RSA 4096]----+
| XXXXX           |
+----[SHA256]-----+

公開鍵(.pubのほう)を開く。

ターミナル
vi id_rsa_github.pub

ssh-rsaから始まる長い文字列をコピーしておき、:q!で閉じる。

作成した鍵をMacに追加しておく。
鍵のパスワードを入力すれば追加される。

ターミナル
ssh-add ~/.ssh/id_rsa_github

GitHubに鍵を登録する

GitHubのメニューから「Setting」-「SSH and GPG keys」から「NewSSH Key」を選択し、必要な情報を入力して「Add SSH Key」。

  • Title:適当。さっきの鍵の名前(id_rsa_github)。
  • Key:さっきコピーしておいた公開鍵の文字列をペースト。

SSH接続の準備をする

configファイルを作成。

ターミナル
touch ~/.ssh/config

configファイルを開く。

ターミナル
vi ~/.ssh/config

iで編集開始、必要な情報を記述、escで編集終了、:wqで保存。
Host github.comの「github.com」は接続時に使うための名前で任意で良いが、
後からcloneとかすることを考えると、「github.com」としておくと余計な手間が発生しない。

ターミナル
# GitHub用
Host github.com
  HostName github.com
  IdentityFile ~/.ssh/id_rsa_github
  User git

SSHで接続できるか試す。

ターミナル
ssh -T github.com

初めて接続する際は以下のような確認が出るので、yesと入力。

ターミナル(出力結果)
The authenticity of host 'github.com (XXXXX)' can't be established.
RSA key fingerprint is SHA256:XXXXX.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

~/.ssh/known_hostsにGitHubを追加したという警告はスルーして、鍵のパスワードを入力。

ターミナル(出力結果)
Warning: Permanently added 'github.com,XXXXX' (RSA) to the list of known hosts.
Enter passphrase for key '/Users/ユーザー名/.ssh/id_rsa_github': 

以下のように表示されればOK。

ターミナル(出力結果)
Hi XXXXX You've successfully authenticated, but GitHub does not provide shell access.