← Back to Home

lissh config - SSH Config Helpers

Manage SSH config entries for your hosts.

Usage

lissh config [command]

Commands

show

Show current SSH config.

lissh config show

diff

Show recommended changes to SSH config.

lissh config diff

generate

Generate SSH config entries for hosts.

lissh config generate
lissh config generate --host=<id>   # Specific host
lissh config generate --all          # All hosts

Outputs SSH config format:

Host webserver
    HostName 192.168.1.100
    User admin
    Port 22
    IdentityFile ~/.ssh/id_ed25519

apply

Apply generated config to ~/.ssh/config (backup created).

lissh config apply
lissh config apply --dry-run         # Preview first

backup

Create a backup of your SSH config.

lissh config backup

Backups are stored in ~/.ssh/config.backup.<timestamp>.

restore

Restore SSH config from a backup.

lissh config restore <file>

keepalive

Enable or disable TCP keepalive.

lissh config keepalive on
lissh config keepalive off

compression

Enable or disable compression.

lissh config compression on
lissh config compression off

controlmaster

Set ControlMaster setting.

lissh config controlmaster auto
lissh config controlmaster no

SSH Config Integration

lissh can read hosts from your existing SSH config (~/.ssh/config) when you run:

lissh discover run

This means:

  1. Hosts you add to SSH config manually
  2. Custom settings like IdentityFile, ProxyJump, etc.

...will be picked up by lissh discovery.

Typical Workflow

# 1. Add/edit host in SSH config manually or with lissh
nano ~/.ssh/config

# 2. Discover new hosts
lissh discover run

# 3. Add alias and notes
lissh hosts edit 16 --alias=webserver --notes="Production"

# 4. Associate SSH key
lissh hosts edit 16 --key-id=1

# 5. Connect
lissh webserver

Config Format

lissh generates standard SSH config entries:

Host <alias>
    HostName <hostname-or-ip>
    User <user>
    Port <port>
    IdentityFile <key-path>

All fields are optional and only included when set.