Edited at

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

More than 1 year has passed since last update.

今更ながら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