ssh_config 生成(Host/ProxyJump/鍵指定)

Host・HostName・User・Port・IdentityFile・ProxyJump(多段可)などをフォーム入力するだけで ~/.ssh/config のブロックと対応する ssh コマンド1行を生成。複数ホストの追加・コピーにも対応。

~/.ssh/config に追記するブロック


  

対応する ssh コマンド(設定ファイル無しで同じ接続を行う場合)

追加した全ホスト分の設定ファイル全文


  

ProxyJump の多段指定(ssh_config(5)の仕様): カンマ区切りで複数ホストを書くと、先に書いた方から順に経由します(bastion1,bastion2 なら、まず bastion1 に接続し、そこから bastion2 を経由して最終目的地に到達します)。

IdentityFile のパスにスペースがある場合: 設定ファイル側はダブルクォートで囲みます(ssh_config(5) の仕様)。ssh コマンド側はシェルのクォート規則に従い、このツールは自動でクォートを付けます。

使い方

  1. Host(エイリアス名)、HostName、User、Port、IdentityFile を入力する。
  2. 踏み台サーバーを経由する場合は ProxyJump にカンマ区切りで入力する(多段指定も可能)。
  3. 入力すると同時に ~/.ssh/config に追記するブロックと、対応する ssh コマンドが表示される。コピーボタンでそれぞれ転記できる。
  4. 複数のホストをまとめて用意したい場合は「このホストを追加」で一覧に積み、全ホスト分の設定ファイル全文をまとめてコピーする。

仕組み・書式の根拠

出力する構文は ssh_config(5) の書式に従う。Host ブロックの各行は「キーワード 値」の形式で、値に空白が含まれる場合はダブルクォートで囲む必要がある(ssh_config(5) の Quoting の規定)。IdentityFile にスペースを含むパスを指定すると、このツールは自動でダブルクォートを付ける。

ProxyJump は ssh_config(5) で「カンマ区切りで複数指定でき、記載した順に経由する」と定義されている。bastion1,bastion2 と書くと、まず bastion1 に接続し、そこから bastion2 を経由して最終的な接続先に到達する。

ssh コマンド欄は、~/.ssh/config を使わずに同じ接続を1行で再現した場合の相当コマンドである。ProxyJump は -J、IdentityFile は -i、Port は -p に対応させている。接続先には User と HostName を組み合わせた user@host 形式を使う。エイリアス名は設定ファイルが存在しない状態では意味を持たないため、コマンド側の接続先には採用していない。

現場の落とし穴: ssh-agent に複数の鍵を登録した状態で IdentityFile を指定しても、IdentitiesOnly yes を付けなければ ssh は ssh-agent に登録済みの鍵を先に試す。鍵の数が多い環境では、指定した鍵に到達する前に認証の試行上限に達して拒否されることがある。踏み台経由や自動化スクリプトで鍵を明示したい場合は、IdentitiesOnly を必ずチェックしておく。

よくある質問

Q. Port を空欄にするとどうなりますか?

A. 設定ブロック・ssh コマンドのどちらにも Port の行は出力されない。ssh は既定の22番ポートに接続する。

Q. ProxyJump に何も入力しなければどうなりますか?

A. ProxyJump の行は出力されず、HostName に直接接続する設定になる。

Q. LocalForward の書式を間違えるとどうなりますか?

A. 「ローカルポート:リモートホスト:リモートポート」の形式に合わない行はエラー表示され、その行だけが出力から除外される。他の正しい行は問題なく出力される。

Q. 追加したホストの一覧はページを閉じても残りますか?

A. 残らない。ブラウザ内だけの一時的な一覧で、保存やサーバーへの送信は行っていない。

関連ツール

最終更新・根拠の確認日: 2026-09-14 · カテゴリ: Linux・サーバー