Skip to main content

A comprehensive SSH toolkit for managing connections and tunnels

Project description

LazySSH

LazySSH is a modern CLI for managing SSH connections, tunnels, file transfers, and automation from one interactive prompt.

LazySSH

Highlights

  • Interactive command mode with tab completion for every workflow
  • Persistent SSH control sockets so sessions, tunnels, and transfers stay fast
  • Forward, reverse, and dynamic SOCKS tunnels with friendly status tables
  • Rich SCP mode with trees, batch downloads, and progress indicators
  • Plugin system for local Python/shell automation that reuses open sockets

Install

# Recommended
pipx install lazyssh

# Or use pip
pip install lazyssh

# From source (requires Hatch)
git clone https://github.com/Bochner/lazyssh.git
cd lazyssh
pipx install hatch  # or: pip install hatch
hatch build
pip install dist/*.whl

Dependencies: Python 3.11+, OpenSSH client, and optionally the Terminator terminal emulator (LazySSH falls back to the native terminal automatically).

Quick Start

# Launch the interactive shell
lazyssh

# Create a new connection (SSH key and SOCKS proxy optional)
lazyssh> lazyssh -ip 192.168.1.100 -port 22 -user admin -socket myserver -ssh-key ~/.ssh/id_ed25519

# Review active connections and tunnels
lazyssh> list

# Open a terminal session in the current window
lazyssh> open myserver

# Save the connection for next time
lazyssh> save-config myserver

# Show saved configs at startup (explicit path to the default file)
$ lazyssh --config /tmp/lazyssh/connections.conf

# Create a forward tunnel to a remote web service
lazyssh> tunc myserver l 8080 localhost 80

# Enter SCP mode to transfer files
lazyssh> scp myserver
scp myserver:/home/admin> get backup.tar.gz

Need a guided setup? Run lazyssh> wizard lazyssh for a prompt-driven connection workflow.

Development

git clone https://github.com/Bochner/lazyssh.git && cd lazyssh
pipx install hatch        # Install build tool (one-time)
make install              # Setup environment
make run                  # Run lazyssh
make check                # Lint + type check
make test                 # Run tests

See CONTRIBUTING.md for details.

Learn More

  • Getting Started – first-run walkthroughs and everyday workflows
  • Reference – command lists, environment variables, and config file details
  • Guides – advanced tunnels, SCP tips, and automation with plugins
  • Troubleshooting – quick fixes for connection, terminal, or SCP issues
  • Maintainers – development environment, logging, and releasing

Contributing

Contributions are welcome! See CONTRIBUTING.md for setup instructions and coding standards.

License

LazySSH is released under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lazyssh-1.6.6.tar.gz (197.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lazyssh-1.6.6-py3-none-any.whl (105.6 kB view details)

Uploaded Python 3

File details

Details for the file lazyssh-1.6.6.tar.gz.

File metadata

  • Download URL: lazyssh-1.6.6.tar.gz
  • Upload date:
  • Size: 197.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.16.3 cpython/3.12.3 HTTPX/0.28.1

File hashes

Hashes for lazyssh-1.6.6.tar.gz
Algorithm Hash digest
SHA256 4ba04c9e38d4e35814d80d343eb2a103bc24ccd843a543b05372a2545cc8aa7d
MD5 722d83f9f310f7471d10aa3f6f24a9c5
BLAKE2b-256 ba15b60d2c6f3ece2f7738d0e94cb9b5060597abea6c52f53eb4914a0dc9bf1f

See more details on using hashes here.

File details

Details for the file lazyssh-1.6.6-py3-none-any.whl.

File metadata

  • Download URL: lazyssh-1.6.6-py3-none-any.whl
  • Upload date:
  • Size: 105.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.16.3 cpython/3.12.3 HTTPX/0.28.1

File hashes

Hashes for lazyssh-1.6.6-py3-none-any.whl
Algorithm Hash digest
SHA256 2610de5955fb2f716c48d0a079c81e4a7229f82b17758fff51ef4fbfdb0cdb3e
MD5 05ecf9f4adb614b67a9d4413f0447652
BLAKE2b-256 641ebade2e4d376058ae31c4c6de51c71ca5cdff9853f0910f355652fa2d00b7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page