【Github】利用するための準備

こんにちは、しきゆらです。

今回はGithubを使うための下準備の部分をメモしておきます。

 

主な内容は、以下の通り。

  • Githubとの連携のための公開鍵作り
  • 公開鍵の登録方法
  • ssh/configファイルの設定

 

公開鍵づくり

この部分は、Githubに限らずSSH接続するような場合によく行う作業なので、覚えておきたい内容ですね。

以下、全てMac環境で行っていきます。

 

以下コマンドで、鍵の生成を行います。

ssh-keygen -t rsa -b 4096

最低限rsa指定は必要です。

「-b 4096」部分に関しては、鍵のbit数になります。

このサイズは、簡単に言えば鍵の強度の部分になります。

参考

SSHでリモートホストに接続する前にやっておくと便利なことは? ssh-keygenコマンド – @IT

2017年版 SSH公開鍵認証で使用する秘密鍵ペアの作り方 – Qiita

 

今は2048bitがデフォルトで生成されるようですが、計算機性能が上がっているので高めに指定しておくと良いかと。

 

実行したときの流れは以下の通り。

$ ssh-keygen -t rsa -b 4096
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/ユーザ名/.ssh/id_rsa): Enter passphrase (empty for no passphrase): 
Enter same passphrase again:

「Enter〜」の部分は入力を求められます。

面倒であれば3回何も入力せずEnterを押すと終わり。

 

重要なのは、一番はじめのファイル名。

デフォルトでは「/Users/ユーザ名/.ssh/」という場所にid_rsaとして生成されます。

しかし、複数の鍵を生成する場合は名前をつけて分けておく必要があるでしょう。

ということで、今回はファイルを「github_rsa」として生成しました。

 

これにて、公開鍵づくりは完了です。

 

次からは、作成した鍵をGithubへ登録していきます。

 

 

公開鍵をGithubへ登録

まずは、Githubへアクセス・ログイン。

画面右上にあるアイコンをクリックし「setting」をクリック。

 

設定メニューの中にある「SSH and GPG keys」をクリック。

すると、右上に「New SSH key」というボタンがあるのでクリック。

こんな画面が出るはず。

「Title」は任意のわかりやすいものをつけると良いと思います。

「Key」には、先程作ったキー.pubの内容を貼り付けます。

キーの内容をコピーする場合は、以下のコマンドでOK。

# github_rsaとして鍵を作った場合の例
$ pbcopy < github_rsa.pub

 

それぞれの項目を埋めた後「Add SSH key」を押せば登録完了です。

基本的には、これで準備は完了。

 

以下の項目は、私のように鍵ファイルの名前をデフォルトにしなかった場合の作業になります。

 

鍵ファイルの名前を自分でつけた場合

先程の例では「github_rsa」という名前で鍵を生成しました。

しかし、これではssh接続しようとしてもうまくいきません。

 

原因は簡単。

SSHで鍵を利用する場合、鍵を名前を明示的に指定しない場合は「id_rsa」というファイルを探しに行くようになっているからです。

 

では、どうするか。

鍵ファイル名と使う場所のヒモ付をしてあげればよいのです。

 

ということで、指定の方法。

「~/.ssh/config」というファイルを作成します。

ここに、例えば以下のような記述をします。

Host github
    HostName github.com
    User git
    IdentityFile ~/.ssh/github_rsa

「Host」の後の「github」の部分は任意に名前をつけることができます。

また、指定した後は「ssh github」と指定した名前で接続できるようになります。

 

「HostName」「User」に関しては、Githubを利用する場合は上記の例で問題ありません。

「IdentityFile」は、先ほど作成したファイルをパス指定してあげてください。

 

SSH接続の確認

あとは、接続できるかの確認だけ。

# 鍵ファイルをデフォルトの名前で作った場合
$ ssh -T git@github
# 鍵ファイルの名前を自分でつけた場合の例
$ ssh github
Hi ユーザ名! You've successfully authenticated, but GitHub does not provide shell access.

「Hi! ユーザ名!」と返ってくればきちんとSSHにて接続できています。

これで準備完了です。

 

 

うまく接続できない場合

以下のような部分を確認してみてください。

  • 鍵の名前を確認する
  • configの記述を見直す
  • Githubに貼り付けた内容を見直す

それでもうまくいかない場合は、鍵を生成し直した後、再度同じ手順を試してください。

 

 

まとめ

公開鍵を生成した後、Githubへ登録してSSH接続するまでの流れを確認しました。

これで、いつOSのクリーンインストールをしたとしても問題なく環境を立て直すことができます。

 

 

今回は、ここまで。

おわり