Rain WikiWindows · Linux · Android

SSH キー

概念OpenSSH削除して安全: いいえ

SSH キーを使用すると、パスワードなしでサーバーにサインインできます。キーペアは、コンピューター上に保持する秘密鍵と、サーバーの ~/.ssh/authorized_keys ファイルにコピーする公開鍵で構成されます。キーは OpenSSH に含まれる ssh-keygen を使用して作成します。

1キーの種類

Ed25519 キーは短く高速で、現在のすべての OpenSSH バージョンでサポートされています。ssh-keygen -t ed25519 で作成できます。RSA キーは古いシステムとの互換性のために引き続きサポートされており、3072 ビット以上である必要があります。

2パスフレーズとエージェント

パスフレーズはディスク上の秘密鍵を暗号化するため、ファイルが盗まれても単独で使用されることはありません。ssh-agent はロック解除されたキーをメモリ内に保持するため、パスフレーズの入力はセッションごとに 1 回で済みます。

3アクセス権限

OpenSSH は、ファイル権限が広すぎるキーの使用を拒否します。秘密鍵は所有者のみが読み取り可能(600)である必要があり、サーバー上の ~/.ssh および authorized_keys は他者が書き込み可能であってはなりません。

キーによるログインの設定方法

  1. コンピューター上でキーを作成します: ssh-keygen -t ed25519
  2. デフォルトのファイル設定を受け入れ、パスフレーズを入力します。
  3. 公開鍵をサーバーにコピーします: ssh-copy-id user@server
  4. サインインしてテストします: ssh user@server
  5. キーが正常に機能することを確認してから、サーバーでのパスワードログインの無効化を検討してください。

注意点

  • 秘密鍵(.pub が付いていないファイル)は、絶対に共有したりアップロードしたりしないでください。
  • パスワード認証を無効にする前に、別のセッションでキーによるログインをテストしてください。そうしないと、サーバーから締め出される可能性があります。

出典

  1. ssh-keygen(1) マニュアルページ (OpenBSD) man.openbsd.org
  2. sshd(8) マニュアルページ, AUTHORIZED_KEYS FILE FORMAT (OpenBSD) man.openbsd.org

最終確認: