ホーム > ネットワーク管理 > ssh-keygen

ssh-keygen: SSHキーペアの生成と管理

ssh-keygenは、OpenSSH認証キーペア(公開鍵と秘密鍵)を生成、管理、変換するために使用されるユーティリティです。SSH経由でリモートサーバーに安全に接続したり、Gitなどのサービスに認証したりするためのコアツールです。

概要

ssh-keygenは、SSHプロトコルで使用される暗号化キーを生成および管理するために不可欠なコマンドです。これにより、パスワードなしで安全にサーバーに接続したり、Gitなどのサービスに認証したりできます。

主な機能

  • RSA、ED25519など、さまざまなタイプのSSHキーペアを生成
  • 既存のキーのパスフレーズを変更
  • 秘密鍵から公開鍵を抽出
  • キーフィンガープリントを確認
  • キー形式を変換

主なオプション

ssh-keygenコマンドは、キーの生成と管理のためのさまざまなオプションを提供します。

キー生成オプション

キー管理オプション

生成されたコマンド:

コマンドを組み合わせてみてください。

説明:

`ssh-keygen` コマンドを実行します。

これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。

使用例

ssh-keygenのさまざまな使用例を通じて、SSHキーの生成と管理方法を学ぶことができます。

デフォルトRSAキーペアの生成

ssh-keygen

最も一般的な使用方法で、デフォルトのパス(~/.ssh/id_rsa)にRSAキーペアを生成します。パスフレーズの入力プロンプトが表示されます。

ED25519キーペアの生成とコメント追加

ssh-keygen -t ed25519 -C "your_email@example.com"

ED25519タイプのキーを生成し、公開鍵にメールアドレスのコメントを追加します。

特定のファイル名でキーペアを生成

ssh-keygen -f ~/.ssh/my_custom_key

デフォルトのパスではなく、別の名前でキーファイルを生成します。(例: ~/.ssh/my_custom_key)

既存キーのパスフレーズ変更

ssh-keygen -p -f ~/.ssh/id_rsa

既に生成された秘密鍵ファイルのパスフレーズを変更します。対話形式で既存のパスフレーズと新しいパスフレーズを入力します。

秘密鍵から公開鍵を抽出

ssh-keygen -y -f ~/.ssh/id_rsa

秘密鍵ファイル(id_rsa)から対応する公開鍵を抽出し、標準出力に表示します。この内容を`id_rsa.pub`ファイルに保存できます。

ヒントと注意点

SSHキーを安全かつ効率的に使用するためのヒントと注意点です。

パスフレーズの使用

秘密鍵にパスフレーズを設定すると、キーが漏洩した場合でも不正な使用を防ぐことができ、セキュリティが強化されます。`ssh-agent`と併用すると、毎回パスフレーズを入力する必要がなくなり便利です。

  • **セキュリティ強化**: 秘密鍵の漏洩時に追加の保護を提供
  • **利便性**: `ssh-agent`を活用して、一度の認証で複数のセッションで使用可能

キーファイルのパーミッション設定

秘密鍵ファイルは、必ず所有者のみが読み書きできるようにパーミッションを設定する必要があります。他のユーザーがアクセスできないように`chmod 600`を使用することが重要です。

  • **秘密鍵**: `chmod 600 ~/.ssh/id_rsa`(所有者のみ読み取り/書き込み)
  • **公開鍵**: `chmod 644 ~/.ssh/id_rsa.pub`(所有者読み取り/書き込み、グループ/その他読み取り)

推奨キータイプ

最新のセキュリティ標準のために、ED25519またはRSA 4096ビットキーの使用を推奨します。

  • **ED25519**: より高速で安全、かつキーサイズが小さい
  • **RSA 4096**: 広く互換性があり、依然として強力なセキュリティを提供

同じカテゴリのコマンド