SSH Configワイルドカードデフォルト(Host *)

Host *ワイルドカードブロックを使ったグローバルSSHデフォルトの設定。AddKeysToAgent、ServerAliveInterval、デフォルトIdentityFileをすべての接続に設定。

Best Practices

詳細な説明

SSH Configワイルドカードデフォルト

Host *ブロックはすべてのホストにマッチし、合理的なデフォルトを提供します。SSHは各ディレクティブの最初にマッチする値を使用するため、configファイルの末尾に配置する必要があります。

推奨デフォルト

Host *
  AddKeysToAgent yes
  IdentitiesOnly yes
  ServerAliveInterval 60
  ServerAliveCountMax 3
  IdentityFile ~/.ssh/id_ed25519

ディレクティブの優先順位

SSHはconfigファイルを上から下に処理し、各ディレクティブの最初にマッチする値を使用します:

  1. 特定のHostブロックを最初に
  2. パターンベースのブロック(Host *.example.com)を中間に
  3. Host *を最後に

推奨グローバル設定

ディレクティブ 目的
AddKeysToAgent yes 初回使用後にエージェントに鍵をキャッシュ パスフレーズの繰り返し入力を回避
ServerAliveInterval 60 60秒ごとにKeepalive送信 アイドルタイムアウト切断を防止
ServerAliveCountMax 3 3回の未応答を許容 約3分後に切断を検出

ワイルドカードで避けるべき設定

  • ForwardAgent yes: セキュリティリスク、ホストごとにのみ有効化
  • StrictHostKeyChecking no: MITM保護を無効化、ホストごとにのみ使用

ユースケース

すべてのHostブロックで設定を重複させることなく、一貫したセキュアなデフォルトを全接続に適用したいSSHユーザー。

試してみる — SSH Config Generator

フルツールを開く