SSH鍵を作成してGitHubにSSH接続するまでの方法の解説をしたいと思います。
SSH鍵を作成する
SSH鍵はターミナルを起動して、”ssh-keygen”コマンドを入力することで簡単に作成することができます。
SSH鍵の作成
はじめに、暗号化方式がRSAで鍵長が4096bitのSSH鍵を作成します。
また、後からどの鍵か分かるようにするために-Cオプションでコメントを追加することができます。
一般的にコメントにはメールアドレスを設定するようですが、できるだけ余分な情報は付けない方が無難なので、必要がなければコメントは省略した方が良いでしょう。
$ ssh-keygen -t rsa -b 4096 -C "your@comment"
SSH鍵の保存
SSH鍵の保存先を聞かれます。通常そのままで問題ないので、Enterを押します。
Enter file in which to save the key (/Users/you/.ssh/id_rsa):
パスフレーズの入力とSSH鍵の生成
パスフレーズを聞かれます。安全なパスフレーズを入力します。(確認のため、2回入力する必要があります。)
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
パスフレーズの入力が完了すると、SSH鍵が生成され、指定した場所に保存されます。
その際、作成した公開鍵の「fingerprint」と「randomart」が表示されます。
これらは、人間が読みやすい形式に公開鍵を表示したもので、公開鍵を目視で見分けたい時に利用したりします。
Your identification has been saved in /Users/you/.ssh/id_rsa.
Your public key has been saved in /Users/you/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:GEA5FjOeDIWpwE9qpE4NOYP4IWN98P34WOnaSiiGP98 your@comment
The key's randomart image is:
+---[RSA 4096]----+
| . . o+o |
| o o *.. |
| + o + o . |
| *..o. . o |
| + S O. + |
| o . *..P o |
| o .*.= |
| ..+.oo |
| ..+BQo |
+----[SHA256]-----+
SSH鍵の設定
SSH鍵を生成したディレクトリには2つのファイルがあります。
id_rsa | 秘密鍵。自分しかアクセスできないようにする。 |
id_rsa.pub | 公開鍵。GitHubなどに登録する鍵。 |
id_rsa鍵は秘密にしなければいけない鍵です。パーミッションを600
にして、他者からアクセスできないようにしておく必要があります。(注意パーミッションを600
にしておかないと、SSH接続時にエラーになる場合があります)
$ chmod 600 ~/.ssh/id_rsa
次に、SSH鍵を管理するために、config
ファイルを作成・編集しましょう。
SSH鍵を複数持っている場合、アクセスの度に鍵を選択する必要が出てきます。config
ファイルを使えば、どのアクセスの時にどのSSH鍵を使うかを設定することができます。
SSH鍵のあるディレクトリにconfig
ファイルを作成して、以下の設定をします。
Host github github.com
HostName github.com
IdentityFile ~/.ssh/id_rsa
User git
この設定により、GitHubにアクセスする際はここで指定したSSH鍵が使われるようになりました。
GitHubアカウントにSSH鍵を登録する
SSH鍵の作成が終わったら、公開鍵をGitHubに登録することで、公開鍵認証方式でGitHubにアクセスすることができるようになります。
では早速、公開鍵をGitHubに登録してみましょう。
公開鍵のコピー
公開鍵をクリッポボードにコピーします。
$ pbcopy < ~/.ssh/id_rsa.pub
コマンドを使ってクリップボードへコピーしていますが、直接「d_rsa.pub」をテキストエディタで開いてコピー&ペーストでコピーしても結構です。
GitHubに公開鍵を登録する
GitHubにログインして、右上にあるプロフィール画像をクリックして、「Settings」をクリックします。
「Settings」ページの左側のメニューバーにある「SSH and GPG keys」をクリックします。
「SSH key」ボタンをクリックします。
「Title」フィールドに適当なラベルを記入します。ラベル名は何でも良いですが、SSH鍵を使ってアクセスするクライアントPC名など分かりやすいような名前が良いでしょう。
クリップボードにコピーしていた公開鍵を「Key」フィールドにペーストします。
「Add SSH Key」ボタンをクリックして公開鍵を登録します。
もし、公開鍵を登録する際にパスワードを聞かれた際は、GitHubのログインパスワードを入力して登録を完了させます。
GitHubにSSH鍵を使ってアクセスする
GitHubにSSHでアクセスできるか試してみましょう。
下記のコマンドを入力します。
$ ssh -T git@github.com
以下のメッセージが表示されたら「yes」を入力します。
The authenticity of host 'github.com (your IP address)' can't be established. RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8. Are you sure you want to continue connecting (yes/no)? yes
SSH鍵のパスフレーズを入力します。
Warning: Permanently added ‘github.com,your IP address' (RSA) to the list of known hosts. Enter passphrase for key '/Users/you/.ssh/id_rsa’:
以下のメッセージが表示されればSSHでのアクセスが成功しています。
Hi ideahacker! You've successfully authenticated, but GitHub does not provide shell access.
コメント