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ファイルを上から下に処理し、各ディレクティブの最初にマッチする値を使用します:
- 特定のHostブロックを最初に
- パターンベースのブロック(
Host *.example.com)を中間に Host *を最後に
推奨グローバル設定
| ディレクティブ | 値 | 目的 |
|---|---|---|
AddKeysToAgent yes |
初回使用後にエージェントに鍵をキャッシュ | パスフレーズの繰り返し入力を回避 |
ServerAliveInterval 60 |
60秒ごとにKeepalive送信 | アイドルタイムアウト切断を防止 |
ServerAliveCountMax 3 |
3回の未応答を許容 | 約3分後に切断を検出 |
ワイルドカードで避けるべき設定
- ForwardAgent yes: セキュリティリスク、ホストごとにのみ有効化
- StrictHostKeyChecking no: MITM保護を無効化、ホストごとにのみ使用
ユースケース
すべてのHostブロックで設定を重複させることなく、一貫したセキュアなデフォルトを全接続に適用したいSSHユーザー。