TUI-based SSH client for managing multiple servers with parallel commands and local bashrc forwarding
lssh is a TUI-based SSH client that provides an interactive host selector for managing connections across multiple servers. It reads server inventory from TOML or YAML configuration files and opens a filterable interface when no host is specified via -H. Users can select one or more hosts from the TUI and either open interactive SSH sessions or execute commands in parallel across selected targets.
A key capability is local bashrc forwarding, which sends local shell startup files like .bashrc, aliases, and helper functions to remote sessions without permanently placing files on the target servers. This allows users to maintain their local workflow and tooling on remote hosts while avoiding configuration drift. The tool also supports NFS and SMB reverse forwarding for mounting local directories on remote servers, along with standard SSH forwarding modes including local/remote port forwarding, SOCKS5, HTTP dynamic forwarding, and X11 forwarding.
lssh is part of a larger suite that includes complementary tools like lscp for file transfer, lsftp for interactive SFTP, and lsshell for parallel interactive shells. It supports conditional host matching based on local network, OS, terminal, and environment variables, making it particularly useful for operators who need different target lists depending on their execution context.
# via Homebrew
brew install blacknon/lssh/lssh
# via Go
go install github.com/blacknon/lssh/cmd/lssh@latest