macからgithubにpushするための秘密鍵の作成、設定法
4096バイトの秘密鍵を生成する
ssh-keygen
で秘密鍵を生成する。
$ ssh-keygen -t rsa -b 4096 -C "" -f id_rsa > Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase): (パスワードを入力)
-
-t
オプションは秘密鍵の種類。「dsa | ecdsa | ed25519 | rsa | rsa1」から決定する。ほとんどはrsaが選ばれている。 -
-b
オプションは、秘密鍵の長さ(ビット単位)。2048ビットがデフォルトだが、より安全な4096ビットを設定。 -
-C
はコメント。デフォルトは「ユーザ名@ホスト名」らしいが、とくに載せたくもないので空欄を指定した。 -
-f
はファイル名。デフォルトはid_rsa。今回は学習もかねて指定しておく。 -
パスワード(パスフレーズ)は空欄でも可。ファイルが流出してもパスフレーズが漏洩しなければまだ安全のため、セキュリティ的には必須。
githubに公開鍵を登録。
~/.ssh/id_rsa.pubのファイルの中身をgithub上に貼り付ける。 macなら次のコマンドでコピーが可能。
pbcopy < ~/.ssh/id_rsa.pub 設定方法は、お前らのSSH Keysの作り方は間違っているより引用。
GitHubにログインし、右上のプロフィールをクリック -> Settingsにて設定画面に遷移 左のメニューからSSH keysをクリック Add
SSH Keyをクリック Titleに識別できる文字列を入力 Bodyに先ほどクリップボードに入れた値をペースト Add Keyをクリック
動作確認
$ git push Enter passphrase for key ’~/.ssh/id_rsa’:さきほど入力したパスレーズを入力すると、pushに成功することがわかる。
その他
この方法だとpushするたびにパスフレーズの入力を要求されてしまう。 そのため次のコマンドで入力の省略が可能。
$ ssh-add -K ~/.ssh/id_rsa ただし上記の方法は、端末が盗まれた場合にリスクがある。気になる人は止めておこう。
参考URL
https://hnw.hatenablog.com/entries/2014/07/05https://qiita.com/suthio/items/2760e4cff0e185fe2db9https://qiita.com/onokatio/items/397a5899a0ec16c7e60a