Install
April 26, 2026 ยท View on GitHub
You can install only lssh, or the full tool suite.
Prebuilt binaries
Prebuilt binaries are available on GitHub Releases.
Linux (amd64, tar.gz)
VERSION=0.10.0
curl -fL -o /tmp/lssh.tar.gz \
"https://github.com/blacknon/lssh/releases/download/v${VERSION}/lssh_${VERSION}_linux_amd64.tar.gz"
sudo tar -xzf /tmp/lssh.tar.gz -C /tmp
sudo install -m 0755 /tmp/lssh_${VERSION}_linux_amd64/bin/* /usr/local/bin/
Debian / Ubuntu (.deb)
VERSION=0.10.0
curl -fL -o /tmp/lssh.deb \
"https://github.com/blacknon/lssh/releases/download/v${VERSION}/lssh_${VERSION}_amd64.deb"
sudo apt install /tmp/lssh.deb
RHEL / Fedora / Rocky / AlmaLinux (.rpm)
VERSION=0.10.0
curl -fL -o /tmp/lssh.rpm \
"https://github.com/blacknon/lssh/releases/download/v${VERSION}/lssh-${VERSION}-1.x86_64.rpm"
sudo dnf install -y /tmp/lssh.rpm
Package layout
lssh provides both a full suite package and smaller split packages.
| Package | Includes | Best for |
|---|---|---|
lssh-complete_* | all suite commands, bundled providers, and command completions | A single archive with the full suite plus provider-backed workflows |
lssh_* | lssh, lscp, lsftp, lssync, lsdiff, lsshfs, lsmon, lsshell, lsmux, lspipe | Full installation of the entire tool suite |
lssh-core_* | lssh | SSH access and forwarding only |
lssh-transfer_* | lscp, lsftp, lssync, lsdiff, lsshfs | File transfer, diff, and mount workflows only |
lssh-monitor_* | lsmon | Monitoring multiple remote hosts |
lssh-sysadmin_* | lsshell, lsmux, lspipe | Parallel shell and multi-host operations |
lssh-providers_* | bundled provider executables | Provider-backed inventory, connector, and secret workflows |
go install
Install commands directly with Go:
go install github.com/blacknon/lssh/cmd/lssh@latest
go install github.com/blacknon/lssh/cmd/lscp@latest
go install github.com/blacknon/lssh/cmd/lsftp@latest
go install github.com/blacknon/lssh/cmd/lssync@latest
go install github.com/blacknon/lssh/cmd/lsdiff@latest
go install github.com/blacknon/lssh/cmd/lsshfs@latest
go install github.com/blacknon/lssh/cmd/lsshell@latest
go install github.com/blacknon/lssh/cmd/lsmon@latest
go install github.com/blacknon/lssh/cmd/lsmux@latest
go install github.com/blacknon/lssh/cmd/lspipe@latest
Provider binaries
Provider-backed inventory, secret, and connector features require provider executables in addition to the main cmd/* binaries.
If you install only cmd/lssh, provider binaries are not installed automatically.
In v0.10.0, provider-backed inventory and secret workflows are best treated as beta.
Connector-backed access beyond native SSH is still experimental, especially for non-SSH runtimes such as WinRM and cloud-managed connectors.
For local development, install the bundled provider executables with:
mise run provider_install
If you want the local source checkout to install the full suite, bundled providers, and shell completions in one step, use:
mise run complete_install
This installs the provider binaries under ~/.config/lssh/providers.
The same task first builds the current provider set from this repository, including:
provider-mixed-aws-ec2provider-connector-opensshprovider-connector-telnetprovider-connector-winrmprovider-mixed-azure-computeprovider-inventory-azure-computeprovider-mixed-gcp-computeprovider-inventory-gcp-computeprovider-inventory-proxmoxprovider-secret-onepasswordprovider-secret-bitwardenprovider-secret-custom-script
On macOS, the same release/install flow also includes provider-secret-os-keychain.
If you are using a release build instead of a source checkout, either:
- install the all-in-one
lssh-complete_*archive for your platform, or - install the matching
lssh-providers_*release asset alongside the command package you want to use
Homebrew
brew install blacknon/lssh/lssh
Requirements
- Build from source with Go
1.25.1or newer, matching go.mod. lsshfsuses a different local mount backend on each OS:- Linux: FUSE support and a working
fusermount/FUSE setup are required. - macOS:
mount_nfsis used locally, so the client must allow local NFS mounts. - Windows:
lsshfsis currently not supported. - The repository intentionally replaces
github.com/kevinburke/ssh_configwith the vendored fork at./internal/ssh_configso the generated config and parser behavior stay in sync withlssh.
Shell completion
Install completion files for bash, zsh, and fish:
make install-completions-user
To install under /usr/local instead:
sudo make install-completions
You can also install just one shell:
make install-completions-user COMPLETION_SHELL=zsh
make install-completions-user COMPLETION_SHELL=bash
make install-completions-user COMPLETION_SHELL=fish
If you use mise, the same flow is available as:
mise run completion_install
mise run completion_install_system
For user-level zsh installs, add this to ~/.zshrc if needed:
fpath=($HOME/.zfunc $fpath)
autoload -Uz compinit && compinit
Build from source
git clone https://github.com/blacknon/lssh.git
cd lssh
make build
sudo make install