Generation

Careful!

Backup your existing config first, if you have one!

sshush will copy your existing destination file to destination.bak, if it wasn’t generated by sshush, but you should still make a manual backup.

Running sshush with no arguments will use its defaults and generate your SSH config.

This will override whatever is there currently, hence the alert above. This is your last warning. Go back it up!

sshush

Default locations

Run with no options, sshush will assume the following paths:

  • $HOME/.ssh/config.yaml - for sshush’s config
  • $HOME/.ssh/config - for the destination generated config file

Options

--source

One or more sources containing sshush formatted yaml.

Glob patterns are supported.

--dest

The path to the ssh config file to be generated.

--dry-run

Do not write changes, emits a diff view instead.

Config file

Use the default destination path and specify a glob of sources:

$HOME/.ssh/sshush.yaml
source: "~/projects/ssh-config/*.yml"

A list of sources:

$HOME/.ssh/sshush.yaml
source:
  - "~/projects/personal/ssh-config/*.yml"
  - "~/projects/work/ssh-config/*.yml"

Source and destination:

$HOME/.ssh/sshush.yaml
source:
  - "~/projects/personal/ssh-config/*.yml"
  - "~/projects/work/ssh-config/*.yml"
dest: ~/.ssh/configsshush