概要
新しいPCに移行する作業で、GitHubにSSH接続するための設定が必要になりました。
一度設定すると忘れてしまうので、SSHで接続するための設定方法を備忘録としてまとめます。
SSH接続を設定
アプリケーション/ユーティリティディレクトリ内にあるターミナルを起動して、次のコマンドを実行してください。
$ ssh-keygen
すると、下のような出力が表示されるので、必要な箇所でEnterキーを入力してください。
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/user_name/.ssh/id_rsa):
Created directory '/Users/user_name/.ssh'.
パスフレーズを設定しない場合は、パスフレーズの入力では何も入力せずにEnterキーを入力します。
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/user_name/.ssh/id_rsa.
Your public key has been saved in /Users/user_name/.ssh/id_rsa.pub.
The key fingerprint is:
XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX XXXXXXXX.local
The key's randomart image is:
+--[ RSA 2048]----+
| .o. |
| .o |
| ... . |
| . . E.o |
| +So.O o . |
| . ..+ + = +|
| . . . o = |
| . . o |
| |
+-----------------+
生成したSSH 鍵の公開鍵の内容は次のコマンドを実行すると確認できます。
$ cat ~/.ssh/id_rsa.pub
生成したSSH 鍵の公開鍵をリモートリポジトリに設定します。
Githubにログインして、Settingsに移動します。
GitHubの設定ページから SSH and GPG keys のページを開きます。
New SSH Key ボタンから鍵を追加するページを開きます。
先ほど生成した拡張子「.pub」のファイルの中身をコピーして貼り付けます。
SSH の確認
次のコマンドを実行するとSSH接続をGitHubに対して実行できます。レスポンスがあれば正しく設定されています。
ssh -T git@github.com
使用する鍵ファイルを指定する設定
下のようにパスワードの入力が毎回必要な場合は、ホストGitHubに接続する際に使用する鍵ファイルを指定する設定を行います。
Enter passphrase for key '/Users/user_name/.ssh/id_rsa':
SSHの設定ファイル ~/.ssh/config を作成し、以下のように設定してください。
Host github github.com
HostName github.com
IdentityFile ~/.ssh/id_git_rsa
User git
次のコマンドを実行してください。
// SSH鍵をssh-agentに登録
$ ssh-add /Users/user_name/.ssh/id_rsa
// 上記パス(~/.ssh_id_rsa)の場合、下記でも登録可能
$ ssh-add -K
// 登録されていることを確認する
$ ssh-add -l
GitLabとSSH接続
sshキーを登録したら接続テストを行います。
$ ssh -T git@gitlab.com