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:
- Hosts you add to SSH config manually
- 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.