前回
Gitの初期設定が行われている前提の記事です。
Gitシリーズ記事まとめ
背景
GitHubのリモートリポジトリにpushする際、HTTPS通信だとGitHubアカウントのパスワードを求められることがあり、毎回入力するのは面倒です。
pushの手間を減らすため、手間をかけてSSH設定しましょう!
目的
GitHubアカウントの認証を省略するためにSSH鍵を設定します。
複数PCを使用している場合は同じ鍵を使いまわすのではなく、各PCで鍵を登録した方がセキュリティ的に良いでしょう。
手順
- GitHub用の秘密鍵、公開鍵を作成
- GitHubに公開鍵を登録
1. GitHub用の秘密鍵、公開鍵を作成
GitHub用の鍵を作成する。
$ ssh-keygen -t ed25519 -N "" -f ~/.ssh/github
-
-t
: 鍵の種類を選択。安全面と性能面で最強なEd25519アルゴリズム一択です。 -
-f
: ファイル名を指定。デフォルトは~/.ssh/id_ed25519
-
-N
: パスフレーズの指定。""
でパスフレーズなし- セキュリティを上げるなら設定する。今回は利便性取って設定しません。
公開鍵の例: ~/.ssh/github.pub
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHwbgzaHPnvXIeie2YhZubxGaxUSqMNwYKgk0YQLEIAW
秘密鍵の例: ~/.ssh/github
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
QyNTUxOQAAACB8G4M8xz571yHontmIWbm8RmsVEqjDb2CoJNGECxCAFgAAAJhtRnIqbUZy
KgAAAAtzc1gtZWQyNTUxOQAAACB8G4M8xz571yHontmIWbm8RmsVEqjDb2CoJNGECxCAFg
AAAECtf4Yrv8eb1n4AD77lT/Qh4JCfJEOEtncubpFiO2b2f5wbgzzHPnvXIeie2YaZubxG
axUSqMNvYKgk0YQLEIAWAAAAEnNhbXBsZUBleGFtcGxlLmNvbQECAw==
-----END OPENSSH PRIVATE KEY-----
2. GitHubに公開鍵を登録
* クリップボードに公開鍵をコピー
$ pbcopy < ~/.ssh/github.pub
- pbcopy コマンドを使うとファイルの中身をクリップボードにコピーしてくれます。
鍵の登録
- GitHubの公開鍵の設定画面を開く
New SSH key
- Title を適当に入力する(PC名を入れておくと鍵管理しやすい)
- Key にクリップボードにコピーした公開鍵を貼り付ける
-
Add SSH Key
で鍵を登録する
3. ~/.ssh/config へ追記
$ vi ~/.ssh/config
Host github.com
IdentityFile ~/.ssh/github
User git
確認
successfully
のメッセージが出ていればok。
$ ssh -T github.com
Warning: Permanently added 'github.com,52.69.186.44' (RSA) to the list of known hosts.
Hi xxx! You've successfully authenticated, but GitHub does not provide shell access.