今更ながらGitHubにSSH接続をできるようにした。
はじめに
下記の作業が完了していることを前提に手順をまとめた。
- GitHub のアカウントを公式サイトで作成(https://github.com/)
公開鍵と秘密鍵の作成
鍵を格納するためのディレクトリへ移動。
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