- GitHubのHelpに記述されているSSH Keysの作成方法が僕の知っている作成方法と
微妙に異なっていたので、書いてみました。
以下の参考にしています。
Generating SSH keys - User Documentation
SSH Keysの確認
- 既存のSSH Keysの確認をする必要があるので、以下を実行
ls -al ~/.ssh
デフォルトでのSSH Keysの名前は以下のうちのどれか
- id_dsa.pub
- id_ecdsa.pub
- id_ed25519.pub
- id_rsa.pub
現在使用している鍵の暗号強度の確認
- 以下のコマンドにて鍵長が2048以上かつ暗号化方式がRSA、或いはECDSAやEd25519であればOK
$ ssh-keygen -l -f ~/.ssh/id_rsa.pub
4096 SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx your_email@example.com (RSA)
※ssh-rsa,非推奨のお知らせにてSHA1を用いたRSA鍵が将来的にはdeprecateとなり,デフォルトでSHA1を用いたRSA鍵を利用する機能自体が無効化されることが改めて告知されました。よって、SHA1のRSA鍵を使用している方は新しく鍵を作り直すことをオススメします。 「廃止対象となっているのは署名方式の方だけです。なのでOpenSSH 7.2以降を入れれば、鍵自体は古いOpenSSHで生成した物がそのまま使えます。」とのことですので、鍵自体を作り直す必要はないようです
新しいSSH Keyの作成
-
-C
のコメント部分を入れ替えて、以下のコマンドを実行
※GitHubに登録しているEmailアドレスを使うのが一般的のようです。
ssh-keygen -t ed25519 -C "your_email@example.com"
- SSH Keysの保存先を聞かれているので、特に気にしなければそのまま
Enter
を入力
Enter file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]
- パスフレーズの入力を求められるので、入力
Enter passphrase (empty for no passphrase): [Type a passphrase]
# Enter same passphrase again: [Type passphrase again]
※ GitHubは安全なパスフレーズを入力しろって言ってる。
Working with SSH key passphrases - User Documentation
SSH Keysの作成完了
GitHubアカウントにSSH Keyの登録
-
~/.ssh/id_rsa.pub
の内容をクリップボードにコピー
pbcopy < ~/.ssh/id_rsa.pub
- SSH Keyの登録
- GitHubにログインし、右上のプロフィールをクリック -> Settingsにて設定画面に遷移
- 左のメニューから
SSH keys
をクリック -
Add SSH Key
をクリック -
Title
に識別できる文字列を入力 -
Body
に先ほどクリップボードに入れた値をペースト -
Add Key
をクリック
確認
- ターミナル上で以下を入力
ssh -T git@github.com
- こんな感じで聞かれるので、GitHub's SSH key fingerprints
に記述されているfingerprintsと一致するのを確認してからyes
を入力
The authenticity of host 'github.com (207.97.227.239)' can't be established.
# RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
# Are you sure you want to continue connecting (yes/no)?
下記のような文字列が出力されれば確認OK
Hi username! You've successfully authenticated, but GitHub does not
# provide shell access.
お疲れ様でした。
これでGitHubにgit@
でアクセスできるようになります。
※ 尚、リポジトリで使用する場合、Gitのリモートリポジトリをhttpsに切り替えている場合はリモートリポジトリの
URLを切り替える必要があるので注意
最後に
- 使っていない認証鍵は削除するとかRSAの1024bitsの鍵を使っている人とか居るみたいなので、
そういった方、わからない方はこの機会に作り直しましょう。 - 鍵の削除を行う際には公開鍵、秘密鍵の両方削除を行いましょう。また、GitHubに登録している公開鍵なども削除を行いましょう。
なぜ危険なのか参考URLは以下にのせておきます。