Host | Domain | Keys | Wildcard | Copy |
---|---|---|---|---|
{{ r.host }} | {{ r.domain || '—' }} | {{ r.keyCount }} | {{ r.wild ? 'Yes' : 'No' }} | |
No rows |
{{ reconstructed }}
Host | Issue |
---|---|
{{ w.host }} | {{ w.issue }} |
No issues found. |
~/.ssh/config
. Download and replace it manually when done.
Secure Shell client configuration files are readable maps from host names to connection settings and shortcuts. They help teams keep many destinations consistent and reduce connection mistakes during daily work.
You provide a configuration as plain text or select a local file and the entries are parsed into host blocks that can be reviewed and edited. The result is a tidy configuration you can download and replace on your system when you are satisfied.
A small change such as adding a user name or a port for a host can remove a repetitive command and improve reliability across sessions. Patterns are accepted in host names, so a single block can cover several related machines when appropriate.
Be mindful that a configuration that looks valid does not prove that a server exists or that credentials work, so test a connection before relying on it for important tasks. Consistent naming and a short note in comments can also make future edits faster.
The underlying object is the Secure Shell (SSH) client configuration. The parser treats the text as a sequence of host sections and key–value directives. It observes comments and quoting so that values can include spaces and hash characters when quoted.
From those quantities it constructs an internal list of hosts, each with a Host pattern and an ordered set of directives. A reconstruction step emits a normalized configuration with a consistent directive order per host, which improves readability and diff friendliness.
Results are grouped conceptually by either wildcard use or by domain suffix when requested. Grouping affects presentation only. It does not modify keys or host patterns, which keeps the emitted configuration faithful to the parsed content.
Comparisons across runs are meaningful when the same input text is used. Non‑host global directives are ignored by the parser, and any Match blocks are skipped entirely, so interpretation should focus on Host blocks only.
Include
.Match
.Host
.# team gateways Host web-1 User ubuntu Port 22 IdentityFile "~/.ssh/id_ed25519" Host db* HostName db.internal ProxyJump web-1
Parsing yields two hosts: web-1
with three directives, and db*
with two directives. Reconstruction keeps both hosts and emits keys in a consistent order, which makes future edits and reviews easier.
Field | Type | Min | Max | Step/Pattern | Error Text | Placeholder |
---|---|---|---|---|---|---|
Host line | regex | — | — | ^\s*Host\s+(.*)\s*$ |
— | e.g., Host app* |
Directive line | regex | — | — | ^\s*([A-Za-z][A-Za-z0-9_\-]*)\s+(.*?)\s*$ |
— | e.g., User ubuntu |
Inline comment strip | quoted scan | — | — | Stops at # outside quotes |
— | — |
Include lines | ignored | — | — | ^\s*Include\s+ |
— | — |
Match blocks | ignored | — | — | ^\s*Match\s+ |
— | — |
Parameter | Meaning | Unit/Datatype | Typical Range | Sensitivity | Notes |
---|---|---|---|---|---|
groupingType |
Controls host grouping for display. | string | none , wildcard , domain |
low | Does not affect reconstruction. |
Input | Accepted Families | Output | Encoding/Precision | Rounding |
---|---|---|---|---|
Text file or pasted text | .txt , .conf , any text |
Downloaded file named config |
UTF‑8 text | — |
Files are processed locally; nothing is uploaded. No data is transmitted or stored server‑side.
Secure Shell configuration organization with an editable output file.
~/.ssh/config
; replace the file yourself after download.Example: Change User
to deploy
for app*
, download, and confirm that ssh app-1
uses the new user without extra flags.
No. Files are read locally and the resulting text is downloaded to your device only.
Yes. Host patterns containing the asterisk are parsed and shown; grouping by wildcard is for review only.
Global directives outside any host block are skipped, and Match sections are not processed.
A JSON view appears in the layout, but the current engine does not populate it.
Host blocks and directives are preserved. Keys are ordered by a fixed list, then by name to improve consistency.
Choose domain grouping to cluster hosts by the last dot suffix; this changes display only, not the output file.
Yes. All logic runs on your device after you select or paste text.
Not applicable here. Configuration lines either parse into hosts and directives or they are ignored.
Host
lines.#
inside quotes if it is part of the value.User ubuntu
.#
outside quotes that is ignored.