SSH認証に最強の「Ed25519鍵」を使おう

SSHの鍵認証で最も広く使われているのはRSA暗号です。しかし、最近のSSHはRSAよりも強固でパフォーマンスも良い暗号化アルゴリズムに対応しています。2017年現在、安全面と性能面で最強なのが「Ed25519」というアルゴリズムです。

この「Ed25519」をOpenSSHで用いるには、バージョン6.5以上が必要です。最近のシステムの多くは対応しているでしょう。バージョンは「ssh -V」コマンドで調べることができます。

Ed25519鍵の生成は、「ssh-keygen -t ed25519」コマンドで行います。

$ ssh-keygen -t ed25519
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/lintaro/.ssh/id_ed25519):     
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/lintaro/.ssh/id_ed25519.
Your public key has been saved in /home/lintaro/.ssh/id_ed25519.pub.
The key fingerprint is:
SHA256:MnM7r8IqwugnLCTEnSHjuPoTk6mdmSMExw+r5cOkrwQ [email protected]
The key's randomart image is:
+--[ED25519 256]--+
|                 |
| o .             |
|+.+ o            |
|o++o             |
|Eo *  + S        |
|+oO .  = .       |
|[email protected] * .  o        |
|@+%.  o  o       |
|+B==.. ....      |
+----[SHA256]-----+

ファイル名は、デフォルトで「~/.ssh/id_ed25519」となっています。パスフレーズは空にせず設定しておいてください。pwgenを使って決めてもいいでしょう。

使い方はRSA鍵などと変わりません。「id_ed25519.pub」をSSHサーバーにコピーし、~/.ssh/authorized_keysに追加してください。