SSH鍵ペアの生成方法

概要

SSH鍵ペアの生成方法についての説明です。 Linuxや仮想端末、GitHub等を使用する上で必要になる基本的な内容です(が、SSH鍵ペアの生成自体は頻繁に使うものではなく、私はよく忘れてしまうのでメモしておきます)。

SSH鍵ペアの生成方法

私の場合は下記のように生成しています。 -t で暗号化アルゴリズムを指定し、-C で鍵を識別するためのコメントを指定できます。

暗号化アルゴリズムはED25519を使用しています。 最近でもRSAを使用している人は多い印象ですが、セキュリティ強度・安全性・パフォーマンス・鍵長の短さの観点で優位であり、互換性が必要なケース以外ではED25519を選ぶ方が良いと思います。 ファイル名は既定値のままで、パスフレーズは指定していません。

コメントについては、一般的な慣習に従い、”ユーザー名@マシン名” を指定しています。 ただし、セキュリティ面ではユーザー名やマシン名といった環境を特定する情報となりますので、扱いには注意すべきです。

ssh-keygen -t ed25519 -C "ユーザー名@マシン名"

実際に下記のように実行されます。 ファイル名やパスフレーズに対して入力を促される部分についてはEnterのみ入力します。

$ ssh-keygen -t ed25519 -C "user@hostname"
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/user/.ssh/id_ed25519): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/user/.ssh/id_ed25519
Your public key has been saved in /home/user/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:******************************************* user@hostname
The key's randomart image is:
+--[ED25519 256]--+
|                 |
|                 |
|                 |
|                 |
|    (ommited)    |
|                 |
|                 |
|                 |
|                 |
+----[SHA256]-----+
Copied title and URL