若干制限があるものの非公開で使えるプライベートリポジトリがGitHubで無料になった。安定して高速に動作するGitHubは非常に便利である。個人でも企業でもGitHubを使う機会は増えるのではないだろうか。一方、プライベートリポジトリには外部に公開できないデータが含まれるので、その運用にはセキュリティ関連のことを強く意識する必要がある。考え方は色々あると思うが、私の運用方法を何回かに分けて紹介する。今回はアカウント登録・二段階認証設定・SSH公開鍵の登録を説明する。なお、この記事はLinuxを前提にしている。
アカウントの登録
https://github.com/join よりGitHubに登録する。画面の指示に従えば特に問題ない。
二要素認証の登録
パスワードだけの認証では不安なので、SMSによる二要素認証を導入する。
- https://github.com/settings/security より Enable two-factor authentication ボタンをクリックする。(下図赤丸部分)
2.二要素認証にSMS認証を使用する場合はSet up useing SMSをクリックする。(下図赤丸部分)
3.次にリカバリーコード画面(下図)が出てくるので、①のdownload/print/copyのいずれかをクリックしコードは保存する(もっとも、私は使ったことがない)。その後②のNextをクリックする。
4.Country CodeにJapan +81(下図①)をphone number(下図②)に電話番号の一桁目を削った番号を入力する。(例) 080XXXXXXXXの場合80XXXXXXXX
5.Send authentiocation codeボタンを押す。(上図③)
6.しばらくすると、指定した電話番号にSMSで6桁の数字が送られてくるのでEnter the six-digit code sent to your phone(上図④)に入力し、Enable(上図⑤)をクリックする。
ここまで終了すると、ログイン時にSMSでGitHubから送信される6桁の数字を求められるようになる。
SSH公開鍵の登録
SSH鍵を使うとgitコマンドでのパスワードの入力が不要になる。秘密鍵の流失には注意してほしい。
SSH公開鍵と秘密鍵の作成(作業PC)
公開鍵の暗号方式には対応ソフトも多く十分に安全なECDSAを使用する。作業するPCで、ssh-keygenコマンドを利用し、~/.ssh以下に鍵ペアを作りcatコマンドで公開鍵を表示させ、クリップボードにコピーする。
$ ssh-keygen -t ecdsa
$ cat ~/.ssh/id_ecdsa.pub
ecdsa-sha2-nistp256 AAA(略)
|鍵種|ファイル|
|--- |--- |--- |
|公開鍵 |~/.ssh/id_ecdsa.pub|
|秘密鍵 |~/.ssh/id_ecdsa|
SSH公開鍵の登録(github)
1.https://github.com/settings/keys よりSSH Keyをクリックする。
2.公開鍵を下図①にペーストし、②をクリックする。(Titleは何でも良い)
成功すると前画面に戻り、登録した公開鍵を示すものがリストに表示される。
まとめ
GitHubにアカウントができ二要素認証とSSH鍵を用いることで、基本的な部分のセキュリティは担保できたと言えるだろう。なおGitHubではSSH鍵ではなくhttpsとパスワードを使う方法を推奨しているようだが理由はわからない。
次回はGitの概念を簡単に整理する。