SSHキーの作り方と言えば、オプションがたくさんあって何が良いのか分からない...
という事で、ブログ執筆にあたり、セキュリティに強い方法を調べ直してみました。
これまで
これまでは、こちらのQiitaの記事を参考にしていました。
Githubが推奨しているやり方のようです。
ssh-keygen -t rsa -b 4096 -C "my_email@example.com"
続きを見る
お前らのSSH Keysの作り方は間違っている - Qiita
調査結果
Ed25519鍵を使う
Ed25519鍵は OpenSSH 6.5 で追加されたそうです。
OpenSSH のバージョンは ssh -V
で調べることができます。
ssh-keygen -t ed25519 -a 100 -C "my_email@example.com"
鍵のビット長は 256bit 固定で短いですが、楕円曲線暗号化(ECC)のおかげで、4096bit の RSA に似た複雑さを持っているとのこと。また、この-a 100
オプションでは、100回のキー派生が指定されているため、キーのパスワードがブルートフォース(パスワード総当たり)攻撃されにくくなっているそうです。※ 2020年3月現在で最も強力
RSA鍵を使う
ssh-keygen -t rsa -b 4096 -o -a 100 -C "my_email@example.com"
Ed25519鍵が使えなかった場合は、こちらを使うと良いでしょう。ただ、この-o
オプションについても、OpenSSH 6.5 以上が必要なようですので、、使えなかった場合には、冒頭で紹介した Github おすすめの方法が良いかと思います。
非推奨: ECDSA鍵
こちらは使わない方が良さそうです。。
※ しばしば、RSAよりも強力と紹介されている記事も見受けられましたが、米国政府がその開発に関与しているため、信頼性が問われているよう。
続きを見る
Elliptic Curve Digital Signature Algorithm - Wikipedia
非推奨: DSA鍵
こちらも、セキュリティには強くなさそうです。
参考
以下の情報が大変参考になりました。ありがとうございました!