Mac
Linux
GitHub

GitHubにSSH接続できるようにする

今更ながらGitHubにSSH接続をできるようにした。

はじめに

下記の作業が完了していることを前提に手順をまとめた。

公開鍵と秘密鍵の作成

鍵を格納するためのディレクトリへ移動。

cd ~/.ssh

鍵を作成するコマンドは下記のとおり。

ssh-keygen -t rsa

コマンドを実行すると、パスフレーズを聞いてくる。

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/(username)/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:

ここでは、3回Enterキーを押せば良い。その後、id_rsaとid_rsa.pubの2つの鍵が生成される。
sshキーを既に作成している場合は、上書きされてしまうので、

Enter file in which to save the key (/Users/(username)/.ssh/id_rsa):

の部分で任意の名前を入力して鍵を生成する。

GitHubへ公開鍵を登録する

GitHub へ作成した公開鍵を登録する。
ブラウザでGitHub のSSH設定ページへ移動。(https://github.com/settings/keys)
「New SSH Key」ボタンを押す。「Title」には何のSSH接続のための公開鍵なのか入力し、「key」には公開鍵(~/.ssh内の.pubファイルの中身)を入力して登録。

SSH接続の確認

下記のコマンドを実行。

ssh -T git@github.com
Hi (gitのアカウント名)! You've successfully authenticated, but GitHub does not provide shell access.

上記のように結果が返ってくれば接続完了。

しかし、この結果が返ってくるまでいくつか設定が必要だったので、追加の設定手順を下記にまとめた。

config ファイルの設定

~/.ssh 内にconfig ファイルを作成。下記を記述。

Host github
user git
Hostname github.com
Port 22
IdentityFile ~/.ssh/(秘密鍵のファイル名)

秘密鍵のパーミッションの設定

秘密鍵のファイルのパーミッションを600へ設定し、ユーザのみファイルの読み書きを許可した状態とする。

chmod 600 (秘密鍵のファイル名)

リポジトリの作成

SSH の接続が確認できたら、GitHub でリポジトリを作成する。
作成方法は省略。

リポジトリのクローン

GitHub で作成したリポジトリをクローンする。
※ SSH接続用のリポジトリ名をコピー。GitHubでのリポジトリの作成方法は省略。

git clone (クローンしたいリポジトリ名)

参考記事

とても参考になりました。
https://qiita.com/shizuma/items/2b2f873a0034839e47ce
https://qiita.com/nyanchu/items/32d65c4c36315b876d38