nekoblog

nekoblog

ちょっとためになるブログ

GitのSSH接続を設定

概要

新しいPCに移行する作業で、GitHubSSH接続するための設定が必要になりました。 一度設定すると忘れてしまうので、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に移動します。 スクリーンショット 2020-05-11 23.53.23.png

GitHubの設定ページから SSH and GPG keys のページを開きます。 New SSH Key ボタンから鍵を追加するページを開きます。 スクリーンショット 2020-05-11 23.53.46.png

先ほど生成した拡張子「.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