#server #remote #command-line #connecting #connect #command-line-tool #completion

app ssher

ssher is an easy-to-use command line tool for connecting to remote servers

13 unstable releases (3 breaking)

Uses new Rust 2024

new 0.4.5 Mar 12, 2025
0.4.4 Mar 10, 2025
0.4.3 Feb 28, 2025
0.3.3 Feb 18, 2025
0.1.1 Jul 18, 2024

#73 in Command-line interface

Download history 2/week @ 2024-12-10 1/week @ 2024-12-31 236/week @ 2025-02-04 258/week @ 2025-02-11 252/week @ 2025-02-18 444/week @ 2025-02-25 102/week @ 2025-03-04

1,200 downloads per month

MIT/Apache

1.5MB
1K SLoC

ssher

English | 简体中文

ssher is an easy-to-use command line tool for connecting to remote servers.

demo

Installation

  • Install with cargo install
cargo install ssher
  • Install from binary

For MacOS or Linux:

curl -sSL https://github.com/poneding/ssher-rs/raw/master/install.sh | sh

For Windows:

Download the lastest executable from Releases and add it to the PATH.

Usage

usage

  1. Select a server and connect
ssher
ssher -s <server>
  1. Add a server
ssher add
  1. Remove servers
# remove, rm
ssher rm
ssher rm <server_a> <server_b>
  1. List servers
# list, ls
ssher ls
  1. Rename a server
ssher rename
ssher rename <server_a>
  1. Edit a server
ssher edit
ssher edit <server>
  1. Check version
# version, v
ssher v
  1. Help
ssher help

Completions

# bash
source <(ssher completion bash)
source <(COMPLETE=bash ssher)

# zsh
source <(ssher completion zsh)
source <(COMPLETE=bash zsh)

# fish
ssher completion fish | source
source (COMPLETE=fish ssher | psub)

# powershell
ssher completion powershell > ssher.ps1
. .\ssher.ps1
$env:COMPLETE = "powershell"
ssher | Out-String | Invoke-Expression

You can add the command to your shell's profile e.g. ~/.bashrc or ~/.zshrc to enable completions for each session.

Configuration

The configuration file is saved in the ~/.ssher.yaml file.

Troubleshooting

  1. MacOS default bash version is too low, you may occur the following error when using completions source <(COMPLETE=bash ssher):
$ source <(COMPLETE=bash ssher)
error: Broken pipe (os error 32)

Solutions:

  • Use the following command to upgrade bash:
brew install bash
  • Generate completions to a file and source it:
COMPLETE=bash ssher > .ssher_bash_completion.sh
source .ssher_bash_completion.sh

Dependencies

~30–62MB
~1M SLoC