koboriakira.com

macからgithubにpushするための秘密鍵の作成、設定法

October 07, 2018

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/05 https://qiita.com/suthio/items/2760e4cff0e185fe2db9 https://qiita.com/onokatio/items/397a5899a0ec16c7e60a


Kobori Akira

IT業界の社会人。音楽、パッカーズ、スワローズ、ポーカー。
読む価値のある記事はQiitaやnoteに投稿する予定です。
過去人気だったブログ記事はこちらから。