GitHubにSSH接続する方法

GitHubにSSH接続するための手順を紹介します。SSH接続するためには、はじめに公開鍵と秘密鍵を生成し、公開鍵の登録をする必要があります。
まずは、公開鍵と秘密鍵を生成していきましょう。

公開鍵と秘密鍵を生成する

鍵を格納するフォルダに移動します。

$cd ~/.ssh

ssh-keygen -t rsa コマンドで鍵を生成します。コマンドを実行すると、いくつか質問が聞かれます。一つ目の質問は、鍵の名前です。デフォルトでは「id_rsa」となります。名前を変更する場合は、ここで変更してください。すでに「id_rsa」が存在する場合は、上書きされますので気をつけてください。
2つ目、3つ目はパスフレーズに関する質問です。パスフレーズを設定することも可能ですが、そのままエンターを押して、設定しないことも可能です。

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/[userName]/.ssh/id_rsa): id_rsa
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in id_rsa.
Your public key has been saved in id_rsa.pub.

id_rsa と id_rsa.pub という2つのファイルが生成されました。id_rsaが秘密鍵、id_rsa.pubが公開鍵ファイルです。秘密鍵はローカルで保管し、公開鍵のコードをGitHubに登録します。

GitHubに公開鍵を登録する

GitHubに公開鍵を登録するために、cat コマンドで表示された文字列をコピーしておきます。

$ cat id_rsa.pub

以下のURLから、GitHubの公開鍵の登録するページにいきます。

https://github.com/settings/keys

GitHubのページに飛んだら、「New SSH key」をクリックします。

「Title」は空欄でも構いません。「Key」に先ほどコピーした公開鍵のコードを貼り付けて登録します。

接続確認

ssh -T git@github.com と打って、以下のように返ってきたら成功です。

$ ssh -T git@github.com
Hi wellstonedesign! You've successfully authenticated, but GitHub does not provide shell access.

鍵の名前を変更した場合

初期設定では、id_rsaを自動的に参照されるようになっているため、鍵の名前を変更した場合は、今回作成した鍵を参照するように設定する必要があります。

今回作成した秘密鍵を参照するようにする

以下の手順は、鍵の名前を「id_git_rsa」とした例です。この場合、GitHubにSSH接続をした時に「 id_git_rsa」を参照するように設定します。そのために、同じディレクトリに config を作成して設定を記述します。

configを作成する

touchコマンドでconfigを作成し、viで開きます。

$ touch config
$ vi config

viで開いたら、以下の設定をコピー&ペーストします。viは慣れないとわかりづらいですが…「:q」で閉じる、「:w」で保存、までわかれば編集はできます。

Host github github.com
  HostName github.com
  IdentityFile ~/.ssh/id_git_rsa
  User git

接続確認

ssh -T git@github.com と打って、以下のように返ってきたら成功です。

$ ssh -T git@github.com
Hi wellstonedesign! You've successfully authenticated, but GitHub does not provide shell access.

関連記事

PHP_CodeSniffer で WordPressのコーディング規約をチェックする

石井秀幸@WEBデザイナー
WordPress公式『横浜 WordPress Meetup』主宰/株式会社ノクチ基地 取締役/モンゼンクリエイティブ合同会社 代表。WEB制作に関する技術や役立つ情報を発信していきます。10年にわたるWordPress歴を背景に、幅広いアイデアを形にするお手伝いをしています。