https://github.com/quantumsheep/sshs
Terminal user interface for SSH
https://github.com/quantumsheep/sshs
cli command-line-tool ssh tui
Last synced: 7 months ago
JSON representation
Terminal user interface for SSH
- Host: GitHub
- URL: https://github.com/quantumsheep/sshs
- Owner: quantumsheep
- License: mit
- Created: 2022-01-31T23:57:33.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2025-04-21T10:44:19.000Z (8 months ago)
- Last Synced: 2025-04-21T10:47:30.799Z (8 months ago)
- Topics: cli, command-line-tool, ssh, tui
- Language: Rust
- Homepage:
- Size: 222 KB
- Stars: 1,157
- Watchers: 12
- Forks: 39
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-cli-apps-in-a-csv - sshs - Terminal user interface for SSH. (<a name="networking"></a>Networking)
- awesome-cli-apps - sshs - Terminal user interface for SSH. (<a name="networking"></a>Networking)
README
# sshs
Terminal user interface for SSH.
It uses `~/.ssh/config` to list and connect to hosts.
[](https://asciinema.org/a/642202)
## Requirements
You need to have `ssh` installed and accessible from your terminal.
## How to install
### Homebrew
```shell
brew install sshs
```
### Chocolatey
Thanks to [Jakub Levý](https://github.com/jakublevy/chocopkgs/tree/master/sshs) for maintaining this package on Chocolatey.
```shell
choco install sshs
```
### Arch Linux
```shell
pacman -S sshs
```
### Alpine Linux
`sshs` is available in Alpine Linux [testing repository](https://pkgs.alpinelinux.org/package/edge/testing/x86_64/sshs).
```shell
apk add sshs
```
### NixOS / Nix
#### As a Flake
```shell
nix profile install 'github:quantumsheep/sshs'
```
#### In your NixOS configuration
```nix
environment.systemPackages = with pkgs; [ sshs ];
```
#### In your Home Manager configuration
```nix
home.packages = with pkgs; [ sshs ];
```
### From releases
Releases contains prebuilt binaries for Linux, macOS and Windows. You can download them at .
### From sources
Building sshs from sources requires [Rust](https://www.rust-lang.org/) compiler and [Cargo](https://doc.rust-lang.org/cargo/) to be installed. You can install them with [rustup](https://rustup.rs).
```bash
cargo install --git https://github.com/quantumsheep/sshs
```
Be sure to have `~/.cargo/bin` in your `PATH` environment variable.
You can also clone the repository and build it manually:
```bash
git clone https://github.com/quantumsheep/sshs.git
cd sshs
cargo build --release
```
The binary will be located at `./target/release/sshs` once the build is complete.
## Troubleshooting
### [...]/.ssh/config: no such file or directory
- Check if you have `~/.ssh/config` file
- If you don't, you can create it with `touch ~/.ssh/config`
If you want to use another SSH config file, you can use the `--config` option.
Here's a sample `~/.ssh/config` file:
```nginx
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_rsa
Host "My server"
HostName server1.example.com
User root
Port 22
Host "Go through Proxy"
HostName server2.example.com
User someone
Port 22
ProxyCommand ssh -W %h:%p proxy.example.com
```
You can check the [OpenBSD `ssh_config` reference](https://man.openbsd.org/ssh_config.5) for more information on how to setup `~/.ssh/config`.