SSH configの概要・基礎知識
SSH config(~/.ssh/config)は、OpenSSHクライアントがどのサーバーへどんな設定で接続するかを記述する設定ファイルです。サーバーごとにエイリアス(Host名)を付けることで ssh myserver という短いコマンドで接続でき、IPアドレス・ユーザー名・ポート番号・鍵ファイル・踏み台サーバーといった情報を毎回打ち込む手間がなくなります。本ツールは入力フォームに値を埋めるだけで、貼り付けるだけ使えるconfigテキストを生成します。生成処理はブラウザ内で完結し、入力した接続情報や鍵ファイルパスは外部に送信されません。
主要オプション一覧
| オプション | 説明 | 設定例 |
|---|---|---|
| Host | 接続時に呼び出すエイリアス名(任意の識別子) | myserver |
| HostName | 実際のIPアドレスまたはドメイン | 192.168.1.100 |
| User | ログインユーザー名 | ubuntu |
| Port | SSHが待ち受けているポート番号 | 22 / 2222 など |
| IdentityFile | 使用する秘密鍵ファイルのパス | ~/.ssh/id_rsa |
| ProxyJump | 踏み台サーバー経由の接続(多段SSH) | bastion |
| ServerAliveInterval | 無通信切断対策のキープアライブ秒数 | 60 |
| ForwardAgent | SSHエージェント転送の許可 | yes |
| StrictHostKeyChecking | 未知ホスト鍵の自動受入れ可否 | no(検証用のみ推奨) |
使い方の流れ
- 「Host名(エイリアス)」にサーバーを呼び出す短い名前を入れます。例:
web-prod、db-stgなど。 - HostNameに接続先のIPアドレスまたはFQDN、Userにログイン名(ubuntu/ec2-user/rootなど)、Portにサーバー側のSSHポートを入力します。
- IdentityFileに使用する秘密鍵のパスを書きます。複数鍵を使い分けている場合、ホストごとに固定するとミスが減ります。
- 必要に応じてProxyJumpに踏み台のHost名(同じconfig内に定義したエイリアス)を指定し、オプションでKeepAliveやForwardAgentを有効化します。
- 「ホストを追加」で複数サーバー分をまとめて登録し、「SSH configを生成」で一括出力。コピーした内容をローカルの
~/.ssh/configに追記してください。
こんな場面で使う
- 複数AWS EC2の管理:本番・ステージング・開発環境のサーバーをエイリアスで分け、
ssh prod-app1のように直感的な名前でアクセスできます。 - 踏み台サーバー経由のアクセス:VPC内のプライベートサーバーへ、bastionを介した多段SSHを
ProxyJump1行で実現します。 - GitHub・GitLabの鍵切替:個人アカウントと業務アカウントで別々の鍵を使い分けたいとき、Host単位でIdentityFileを切替できます。
- VS Code Remote-SSH:VS CodeのRemote-SSH拡張は
~/.ssh/configを直接読みます。本ツールで作った設定がそのままRemoteウィンドウから利用できます。 - Ansible・Terraformとの連携:構築自動化ツールはSSH configのHost名を解決できるため、インベントリ記述を簡素化できます。
使う前に知っておきたい注意点
~/.ssh/configファイルのパーミッションは必ず600(所有者のみ読み書き)に設定してください。緩いパーミッションだとOpenSSHが警告を出して接続を拒否します。StrictHostKeyChecking noは中間者攻撃に対する防御を弱めるため、本番運用サーバーには使わないでください。検証用の使い捨て環境などに限定しましょう。- Host名にワイルドカード(例:
*.example.com)を使うと一致範囲が広がります。意図しないホストに同じ設定が当たらないよう、より具体的なHostブロックを上に書く順序を意識してください。 - WindowsではOpenSSHクライアントを有効化したうえで
C:\Users\ユーザー名\.ssh\configを使います。改行コードはLF推奨で、CRLFが混じると稀に解釈エラーになります。 - 本ツールはconfigのテキストを生成するだけです。実際にサーバーへ接続するには、別途鍵ペアの作成・公開鍵のサーバー登録(authorized_keys)が必要になります。
用語の補足
- ProxyJump(-J):OpenSSH 7.3以降に追加された踏み台経由の標準オプション。古いProxyCommandよりシンプルに書けます。
- Match ブロック:Hostブロックよりも柔軟な条件(user、host、execなど)で設定を切替できる仕組みです。
- Include ディレクティブ:configファイルを分割して読み込めるオプション。組織や案件ごとにファイルを分けて管理する場合に便利です。