ssh-keygen ユーティリティは、ssh の認証キーを生成、管理、および変換します。 ssh-keygen を使用して鍵を作成する場合、-t 作成するキーのタイプを識別するために、オプションを指定する必要があります。
ssh-keygen ユーティリティは、サーバーで認証するための SSH キー ペアを生成します。このユーティリティは OpenSSH にバンドルされており、デフォルトで 2048 ビットの RSA キー ペアを作成します。鍵の長さが異なる RSA と DSA をサポートします。 2 台のマシン間で安全な接続を確立するには、4096 ビットのキー長をお勧めします。
クライアントの ssh キーを生成するときに、次のエラーが発生する場合があります:
-bash: ssh-keygen: command not found
ssh-keygen は OpenSSH パッケージにバンドルされていますが、システムにインストールされていない場合は、選択したオペレーティング システムに従って以下のコマンドを使用してインストールできます。
分布 | コマンド |
---|---|
OS X | brew install openssh |
Debian | apt-get install openssh-client |
Ubuntu | apt-get install openssh-client |
アルパイン | apk add openssh |
Arch Linux | pacman -S openssh |
カリ Linux | apt-get install openssh-client |
CentOS | yum install openssh |
Fedora | dnf install openssh |
Raspbian | apt-get install openssh-client |
ドッカー | docker run cmd.cat/ssh-keygen ssh-keygen |
ssh-keygen コマンドの例
1. インタラクティブにキーを生成します:
$ ssh-keygen
2. キーを保存するファイルを指定:
$ ssh-keygen -f {{~/.ssh/filename}}
3. 100 回のキー導出関数ラウンドで ed25519 キーを生成します。
$ ssh-keygen -t {{ed25519}} -a {{100}}
4. 電子メールをコメントとして RSA 4096 ビット キーを生成します。
$ ssh-keygen -t {{dsa|ecdsa|ed25519|rsa}} -b {{4096}} -C "{{comment|email}}"
5. known_hosts ファイルからホストのキーを削除します (既知のホストに新しいキーがある場合に便利です):
$ ssh-keygen -R {{remote_host}}
6. キーのフィンガープリントを MD5 Hex で取得します:
$ ssh-keygen -l -E {{md5}} -f {{~/.ssh/filename}}
7. キーのパスワードを変更します:
$ ssh-keygen -p -f {{~/.ssh/filename}}
8. キー形式のタイプを変更します (たとえば、OPENSSH 形式から PEM に)。ファイルはその場で書き換えられます:
$ ssh-keygen -p -N "" -m {{PEM}} -f {{~/.ssh/OpenSSH_private_key}}