SSH config生成ツール

ホストが追加されていません

SSH configの概要・基礎知識

SSH config(~/.ssh/config)は、OpenSSHクライアントがどのサーバーへどんな設定で接続するかを記述する設定ファイルです。サーバーごとにエイリアス(Host名)を付けることで ssh myserver という短いコマンドで接続でき、IPアドレス・ユーザー名・ポート番号・鍵ファイル・踏み台サーバーといった情報を毎回打ち込む手間がなくなります。本ツールは入力フォームに値を埋めるだけで、貼り付けるだけ使えるconfigテキストを生成します。生成処理はブラウザ内で完結し、入力した接続情報や鍵ファイルパスは外部に送信されません。

主要オプション一覧

オプション説明設定例
Host接続時に呼び出すエイリアス名(任意の識別子)myserver
HostName実際のIPアドレスまたはドメイン192.168.1.100
Userログインユーザー名ubuntu
PortSSHが待ち受けているポート番号22 / 2222 など
IdentityFile使用する秘密鍵ファイルのパス~/.ssh/id_rsa
ProxyJump踏み台サーバー経由の接続(多段SSH)bastion
ServerAliveInterval無通信切断対策のキープアライブ秒数60
ForwardAgentSSHエージェント転送の許可yes
StrictHostKeyChecking未知ホスト鍵の自動受入れ可否no(検証用のみ推奨)

使い方の流れ

  1. 「Host名(エイリアス)」にサーバーを呼び出す短い名前を入れます。例:web-proddb-stg など。
  2. HostNameに接続先のIPアドレスまたはFQDN、Userにログイン名(ubuntu/ec2-user/rootなど)、Portにサーバー側のSSHポートを入力します。
  3. IdentityFileに使用する秘密鍵のパスを書きます。複数鍵を使い分けている場合、ホストごとに固定するとミスが減ります。
  4. 必要に応じてProxyJumpに踏み台のHost名(同じconfig内に定義したエイリアス)を指定し、オプションでKeepAliveやForwardAgentを有効化します。
  5. 「ホストを追加」で複数サーバー分をまとめて登録し、「SSH configを生成」で一括出力。コピーした内容をローカルの ~/.ssh/config に追記してください。

こんな場面で使う

  • 複数AWS EC2の管理:本番・ステージング・開発環境のサーバーをエイリアスで分け、ssh prod-app1 のように直感的な名前でアクセスできます。
  • 踏み台サーバー経由のアクセス:VPC内のプライベートサーバーへ、bastionを介した多段SSHを ProxyJump 1行で実現します。
  • 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ファイルを分割して読み込めるオプション。組織や案件ごとにファイルを分けて管理する場合に便利です。

よくある質問

Linux/macOSでは ~/.ssh/config、Windowsでは C:\Users\ユーザー名\.ssh\config に保存します。ファイルが存在しない場合は新規作成してください。パーミッションは600(所有者のみ読み書き)に設定しないとOpenSSHが警告して読み込みを拒否します。
踏み台サーバー(bastion / ジャンプホスト)を経由して目的のサーバーへ接続する仕組みです。直接アクセスできないプライベートサブネット内のサーバーへ、bastion経由で1コマンドでログインできます。指定するHost名は同じconfig内で定義した別のエイリアスを使えるので、bastion自体の接続情報も再利用できます。
Hostブロックを複数並べて、それぞれにIdentityFileを別々に指定するのが基本です。例えばGitHub個人用とGitHub業務用で鍵を分けたい場合、Host github-privateHost github-work を作って異なる鍵パスを書き、git remoteのURLでホスト名を切り替えます。
はい、生成テキストはHostブロック単位で出力されるため、既存ファイルの末尾に貼り付けるだけで動作します。同じHost名がすでに登録されている場合は重複定義となるので、エディタで先頭から検索して既存ブロックを置き換えるか削除してください。
本ツールでは60秒をデフォルトにしています。NAT機器や企業のファイアウォールが30〜120秒程度のアイドル接続を切断する設定になっていることが多いため、60秒は実用的なバランスです。長時間のSSHセッションが頻繁に切れる場合は30秒程度まで短くしても問題ありません。
使えます。VS CodeのRemote-SSH拡張は標準で ~/.ssh/config を読み込み、Host一覧をパレットに表示します。本ツールで作成した設定をconfigに保存すれば、Remote-SSHのターゲットリストに即座に反映されます。
いいえ、すべての計算はブラウザで完結し、外部送信なしです。サーバーIP・ユーザー名・鍵パスといった機微な情報も外部に送られないため、業務利用でも安全に使えます。