Git
GitHub
SSH

【Github, SSH】SSH鍵を作成し、Githubへそれを登録する手順


前提

Githubに登録するためのSSH鍵の作成手順を想定しています。

CentOS6.5で検証しているプロセスとなります(MacOSでも同様のプロセスで作成できます)。


SSH鍵の作成


ssh-keygenで秘密鍵・公開鍵ペアを作成

$ ssh-keygen

Generating public/private rsa key pair.
Enter file in which to save the key (/home/vagrant/.ssh/id_rsa): github_rsa <----- 今回はgithub用のSSH鍵を作成しているので、それとわかる名前を付けています。
Enter passphrase (empty for no passphrase): <----- 今回はパスワードはなしでOKのため、何も入力せずに「Enter」。
Enter same passphrase again: <----- 確認を求められますが、今回は設定していないので、何も入力せずに「Enter」。
Your identification has been saved in github_rsa.
Your public key has been saved in github_rsa.pub.
The key fingerprint is:
6f:09:a6:35:2d:34:e6:82:95:89:41:7d:a7:58:1b:92 vagrant@localhost.localdomain
The key's randomart image is:
+--[ RSA 2048]----+
| .o. . |
| oEo+ . |
| . +=+= |
| o.+oo |
| . . S . |
| = = . |
| . + |
| . |
| |
+-----------------+


作成されたキーペアを確認

$ ls -la | grep github

-rw------- 1 vagrant vagrant 1675 11月 20 12:18 2014 github_rsa
-rw-r--r-- 1 vagrant vagrant 411 11月 20 12:18 2014 github_rsa.pub


SSH鍵を配置


.sshディレクトリにSSH鍵を移動します

$ mkdir -p ~/.ssh       <----- ホームディレクトリに.sshディレクトリを作成

$ mv github_rsa* ~/.ssh <----- .sshディレクトリに作成したキーペアを移動


ssh-agentに作成した鍵を登録

下記フローをすることで、先ほど作成したssh鍵を有効な鍵として利用できるようになります。

$ eval $(ssh-agent)     <----- ssh-agentを(念のため)起動

$ ssh-add ~/.ssh/github_rsa <----- ssh-addで作成した鍵をssh-agentへ登録

画面キャプチャ

github_ssh_00.png


sshの設定をconfigファイルに記述

$ touch ~/.ssh/config

$ vi ~/.ssh/config <----- .ssh/configファイルに下記五行を追記
+ Host github
+ HostName github.com
+ Identityfile ~/.ssh/github_rsa
+ Port 22
+ User git


.ssh/configファイルのパーミッションを変更

$ chmod 700 ~/.ssh/config           <---- .ssh/configファイルの持ち主のみに読み書き実行権限を付与する


GithubにSSH鍵を登録


Githubへアクセス

github_ssh_01.png


Githubの設定画面へ遷移

右上の⚙ボタンを押して、設定画面へ遷移します。

github_ssh_02.png


SSH鍵の設定画面へ遷移

左カラムの「SSH keys」をクリックして、SSH鍵の設定画面へ遷移します。

github_ssh_03.png


SSH鍵の登録を開始

下記画面右上の「Add SSH key」をクリックして、SSH鍵の登録画面を表示します。

github_ssh_04.png


SSH鍵登録画面

すると下記のようにSSH鍵を登録する画面が表示されます。

github_ssh_05.png


SSH公開鍵情報をコピー

下記のようにコマンドラインでcatコマンドを利用し、先に作成した公開鍵の内容を表示しコピーします。

$ cat ~/.ssh/github_rsa.pub

画面キャプチャ

github_ssh_06.png


SSH鍵情報をGithubへ登録

下記のように、Titleに任意のタイトルを入力し、Keyのところへ先ほどコピーした公開鍵の文字列をペーストし、「Add key」をクリックして公開鍵情報をGithubに登録します。

github_ssh_07.png


公開鍵の登録を確認

すると下記のように、公開鍵の設定画面に戻り、登録した公開鍵情報が確認できます。

github_ssh_08.png


まとめ

ここまででSSH鍵の作成と有効化、そしてGithubへのSSH鍵の登録のプロセスは終了です。

これによって、SSHによるリモートリポジトリとローカルリポジトリの連携が可能になります。

また別記事で、Github上へリポジトリの作成を行い、ローカルのリポジトリと連携させる手順についてまとめたいと思います。