GitHubへSSHで接続する
GitHubへSSHで接続するために、SSH鍵を生成、生成した公開鍵をGitHubへ登録する。その手順を下記に示す。
SSH鍵の生成
MacでSSH鍵を生成する。
まずは、ホームディレクトリ以下にある.sshディレクトリへ移動する。
# ホームディレクトリへ移動
$ cd ~
# カレントディレクトリの確認
$ pwd
/Users/ユーザー名
# .sshディレクトリへ移動
$ cd .ssh/
続いて、SSH鍵を生成する。
-t
で鍵のタイプ、-b
で鍵のビット長、-f
で、保存するファイル名を指定する。
今回は、RSA 4096bitで、ファイル名をid_rsa_github とした。
途中、Enter passphraseと、パスフレーズを求められる。任意のパスフレーズを設定することができるが、今回は何も設定せず、Enterを入力した。
$ ssh-keygen -t rsa -b 4096 -f id_rsa_github
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase): <-- Enterを入力
Enter same passphrase again: <--Enterを入力
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: (省略)
The key's randomart image is:
+---[RSA 4096]----+
(省略)
+----[SHA256]-----+
コマンド実行後、id_rsa_github(秘密鍵)、id_rsa_github.pub(公開鍵)の2つが生成されていることを確認する。
$ ls
id_rsa_github id_rsa_github.pub
SSH公開鍵の確認
生成したSSH公開鍵を確認する。
$ cat id_rsa_github.pub
ssh-rsa AAA...(省略)
GitHubへの登録
GitHubのトップページ、画面右上の自分のアイコンから Settings > SSH and GPG keys > SSH keys > New SSH key
から、生成したSSH公開鍵を登録。
configの設定
続いて、configの設定
$vim ~/.ssh/config
Host github github.com
User git
HostName github.com
IdentityFile ~/.ssh/id_rsa_github
IdentitiesOnly yes
IdentitiesOnly
は、IdentityFile
で指定した秘密鍵のみを使用するかどうかを意味するので、yesとしておく。
GitHubへの接続確認
次のコマンドで、接続できることを確認する。
下記のようなメッセージが出てくれば接続確認完了。
-T
は、仮想端末の割り当てをしないオプション。
sshでGitHubにシェルアクセスすることはできないので、そんな時につけるオプションくらいに覚えておけばOK。
$ ssh -T git@github.com
Hi (GitHubアカウント名)! You've successfully authenticated, but GitHub does not provide shell access.