最強であろうed25519でSSH鍵を作成してGithubに登録する

GitHub
※当ブログの記事内にはプロモーションが含まれている場合があります。

※ご指摘いただきました箇所を訂正済みです。
詳しくは「※追記 2024.06.13」

公開鍵・秘密鍵作成

コマンドで、

$ ssh-keygen -t ed25519

と打つと、色々聞かれますが、全て規定値で問題ないので、
エンターを押しまくります。

Generating public/private ed25519 key pair.
Enter file in which to save the key (/Users/[user name]/.ssh/id_ed25519): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /Users/[user name]/.ssh/id_ed25519.
Your public key has been saved in /Users/[user name]/.ssh/id_ed25519.pub.
The key fingerprint is:
[...]:[..........] [user name]@[mysv].local
The key's randomart image is:
+--[ED25519 256]--+
|     ......      |
|                 |
|                 |
+----[SHA256]-----+

公開鍵:~/.ssh/id_ed25519.pub
秘密鍵:~/.ssh/id_ed25519
が作成されるはず。

確認

作成されたか確認します。

$ cd ~/.ssh
$ ls
id_ed25519      id_ed25519.pub

いる。できた。

GitHubに登録

公開鍵をコピー

# Mac
$ pbcopy < ~/.ssh/id_ed25519.pub 

# windows (Git Bash) なら、clipを使う
$ cat ~/.ssh/id_ed25519.pub | clip

公開鍵を登録する

  • GithubのSSH鍵登録画面を開く(https://github.com/settings/keys
  • New SSH key
  • Titleはパソコン名などわかりやすいものにするといい
  • Keyコピーした公開鍵を貼り付ける
  • Add SSH Key

解説

ssh-keygen

ssh-keygenは、認証用の鍵を生成したりするコマンド

-t ed25519

-tは、生成する鍵の種類を指定するオプション。
ed25519は公開鍵暗号方式のアルゴリズムの一つ。
ed25519以外にも、dsa, ecdsa, rsa, rsa1が指定できる。

公開鍵暗号方式

2つの鍵を利用してデータのやり取りを行う方式。
公開鍵秘密鍵
公開鍵とペアになっている秘密鍵を持っている人だけが暗号を解くことができる。(復号化)

rsa1

SSH1での使用に限られているが、脆弱性があるので非推奨。

rsa

rsa1の後継として出たもの。
SSH2, RSA-2048以上での使用を推奨されている。
長い鍵長が選べる。
主流。4096bitで作ろう。

dsa

rsaの代替として開発され、SSH2での使用を推奨されている。
今は鍵の長さが短い。

ecdsa

ブロックチェーンでも使われている楕円曲線暗号。
サーバーにかかる負荷が、rsaより少ない。

ed25519

楕円曲線暗号。
ecdsaより署名生成/検証のパフォーマンスがいい。
安全で性能がいいのでed25519が最強らしい。
Gitでも使える。

脱線:SSL

公開鍵暗号方式と共通鍵暗号方式を組み合わせたもので、httpsから始まるウェブサイトは、SSLが適用されている。

-C pan-shoku@example.com

-Cは、コメントで、一般的にGithubに登録したメールアドレスを設定する。
なくてもいい。

参考サイト

Page not found · GitHub Pages
SSH DSA RSA 鍵の違いについて
いつも参考にさせていただいてます。今SSHで使えるRSA1、RSA、DSA鍵の違いについて調べております。RSA1はSSH1で使える鍵でRSA、DSAはSSH2で使える鍵と理解しておりますがRSA1・RSA・DSAでの違いって何なんでしょ....
公開鍵暗号方式とは?初心者でもわかる公開鍵暗号方式の基礎|Udemy メディア
今回は、情報を守る代表的な方法である「公開鍵暗号方式」について紹介します!公開鍵暗号方式は秘密鍵と公開鍵を使って平文を暗号化する、安全性が高い暗号方式です。セキュリティの基礎となる暗号化の仕組みをきっちりと押さえておきましょう!
2017年版 SSH公開鍵認証で使用する秘密鍵ペアの作り方 - Qiita
何番煎じかわからないが、 ssh-keygen 最近他の種類も生成すること多くなってきたので。まあ、 Advent Calendar ネタということで。よーし埋めるぞ。RSA 1024bit …
お前らのSSH Keysの作り方は間違っている - Qiita
GitHubのHelpに記述されているSSH Keysの作成方法が僕の知っている作成方法と微妙に異なっていたので、書いてみました。以下の参考にしています。Generating SSH key…

Mac GitHub SSH接続設定 - Qiita
前回Mac Git 初期設定Gitの初期設定が行われている前提の記事です。Gitシリーズ記事まとめ…
~/.ssh/configについて - Qiita
.ssh/configとは.ssh/configとは、ssh経由でのリモートサーバーの接続する際に利用される設定ファイルです。.ssh/configを書くと何が嬉しいかたとえばですが、sshコ…
git を初めて使う時 コミット→プッシュ→マージ の流れ - Qiita
gitを使って開発する基本の流れポイント:gitは怖くないコミット、プッシュ、マージができれば作業可能IDEやGUIのツールからも使えますが覚えるまではまずはコマンドラインでやった方が理解しや…

※追記 2024.06.13

一部誤りを修正いたしました。
訂正前は、下記箇所の公開鍵と秘密鍵を逆に書いておりました。
この記事を参考にしてくださった方、致命的なミスを掲載してしまい申し訳ございませんでした。
そして、ご指摘いただきありがとうございます。

訂正後↓
公開鍵:~/.ssh/id_ed25519.pub
秘密鍵:~/.ssh/id_ed25519
が作成されるはず。

コメント

  1. たろう より:
    • パンショク より:

      コメントありがとうございます。返信が遅くなり申し訳ございません。
      逆に書いてしまったことに、今の今まで気づかずにおりました。確認不足で申し訳ございません。
      共有いただきありがとうございます。大変助かりました。
      遅くなってしまいましたが、誤りを修正させていただきます。

タイトルとURLをコピーしました