khm

command module
v1.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 9, 2025 License: MIT Imports: 9 Imported by: 0

README

khm

A compact CLI and TUI tool for managing SSH known_hosts files.

Installation

Download

Download from releases

Using Go install
go install github.com/FlameInTheDark/khm@latest
From source

Clone and build:

git clone https://github.com/FlameInTheDark/khm.git
cd khm
go mod tidy
go build -o khm
Commands
# Launch TUI for default known_hosts
khm

# Launch TUI explicitly
khm ui

# List hosts
khm list

# Create backup of known_hosts
khm backup

# Stash all keys for a host into stash_hosts
khm stash <host>

# Delete all keys for a host from known_hosts
khm delete <host>

# Show help
khm --help
File selection

You can control which known_hosts file is used:

  • --file, -f:
    • Custom known_hosts path for all commands.
  • SSH_KNOWN_HOSTS:
    • Used when --file is not set.
  • Default:
    • ~/.ssh/known_hosts if nothing else is provided.

TUI

Key bindings (known_hosts view):

  • Up/Down: navigate hosts
  • /: filter (live)
  • Enter: toggle details for selected host
  • d: delete selected host (with confirmation)
  • s: stash selected host into stash_hosts
  • t: toggle between known_hosts and stash_hosts view
  • ?: toggle help
  • q / Ctrl+C: quit

Stash behavior:

  • Stash writes entries to stash_hosts (by default next to known_hosts).
  • Stash view lets you inspect stashed hosts and restore them back.
  • Restoring avoids adding duplicate keys to known_hosts.

Examples

Basic:

# TUI for default known_hosts
khm

# TUI for a specific known_hosts
khm --file /path/to/known_hosts

# Stash a host
khm stash github.com

# Delete a host
khm delete github.com

Development

git clone https://github.com/FlameInTheDark/khm.git
cd khm
go mod tidy
go test ./...
go build -o khm

Structure

  • main.go: CLI entry and commands
  • ui.go: TUI launcher and helpers
  • internal/knownhosts: known_hosts parsing and file operations
  • internal/ui: TUI model and rendering

Technical details

  • Go 1.21+
  • Bubble Tea, Bubbles, Lipgloss
  • Minimal, focused dependency set

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal
ui

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL