# lssh

> TUI-based SSH client for managing multiple servers with parallel commands and local bashrc forwarding

Stars: 328 · Language: Go · License: MIT · Categories: Network

- Repository: https://github.com/blacknon/lssh
- Page: https://www.trmn.sh/tools/lssh

## Install

- Homebrew: `brew install blacknon/lssh/lssh`
- Go: `go install github.com/blacknon/lssh/cmd/lssh@latest`

## Overview

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.

### Installation

```bash
# via Homebrew
brew install blacknon/lssh/lssh
```

```bash
# via Go
go install github.com/blacknon/lssh/cmd/lssh@latest
```

## Alternatives

- [tldx](https://www.trmn.sh/tools/tldx.md): CLI tool for brainstorming and checking domain name availability with keyword permutations and TLD presets (Go, 1.9k stars)
- [curlie](https://www.trmn.sh/tools/curlie.md): A curl frontend that combines curl's features with HTTPie's user-friendly interface and syntax (Go, 3.7k stars)
- [devzat](https://www.trmn.sh/tools/devzat.md): SSH server that creates a chat room instead of shell access, enabling cross-platform terminal chat (Go, 4.1k stars)
- [bombardier](https://www.trmn.sh/tools/bombardier.md): HTTP(S) benchmarking tool written in Go that uses fasthttp by default, with optional net/http for HTTP/2, and reports latency, requests/sec and throughput. (Go, 6.8k stars)
- [wego](https://www.trmn.sh/tools/wego.md): Terminal weather client showing 1–7 day forecasts from several backends, rendered as an ASCII-art table, emoji, markdown, or JSON. (Go, 8.6k stars)

---

Canonical: https://www.trmn.sh/tools/lssh
