npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@eightshone/sshman

v1.1.1

Published

A simple cli ssh manager

Readme

sshman banner

SSH MANAGER (SSHMAN)

SSHMAN is a modern, interactive TUI (Terminal User Interface) SSH connection manager built with Node.js. It simplifies managing multiple SSH sessions with a sleek, user-friendly interface and robust CLI commands.

⚠️ Security Notice: SSHMAN shells out to your system's native ssh binary and manages your real ~/.ssh/config, so connections go through OpenSSH's own host-key verification and config handling. It has not been independently security-audited. Do not treat it as a hardened or compliant SSH client — use it at your own risk.

Key Features

  • Interactive TUI Dashboard: A good terminal experience with intuitive navigation.
  • Connection Management: Save, edit, and categorize your SSH connections for quick access.
  • Quick Reconnect: Jump back into your last session with a single command.
  • Interactive Logs: Browse and search through your connection history with real-time filtering.
  • Global Search: Quickly find the server you need from your saved connections.
  • Encrypted Configuration: Your connection details are stored encrypted at rest (see Configuration Security).
  • Import/Export: Easily share or backup your server configurations, always password-protected.
  • Built-in Manual: Accessible interactive help documentation within the app.

Quick Start

Installation

Install SSHMAN globally using your preferred package manager:

| Package Manager | Command | | :-------------- | :----------------------------------- | | Yarn | yarn global add @eightshone/sshman | | NPM | npm install -g @eightshone/sshman | | PNPM | pnpm add -g @eightshone/sshman | | Bun | bun add -g @eightshone/sshman |

Usage

Interactive Mode

Simply run sshman to enter the interactive TUI dashboard.

sshman

interactive menu

Command Line Interface

SSHMAN also provides a powerful set of CLI commands for direct access:

  • Connect to a new server:

    sshman connect username@hostname[:port] [--save [name]]

    Example: sshman connect [email protected]:22 -s my-server

  • Quick Reconnect:

    sshman reconnect

    Connects to the last server you accessed.

  • Connect to a saved server:

    sshman connect server-name
  • Search for a server:

    sshman search <terms> [--fuzzy]
  • Logs:

    sshman logs [-i] [-s <search terms>]

    Use -i for the interactive TUI logs browser.

  • Export/Import Configs:

    sshman export [servers...] [-a] [-n <filename>] [-p <password>]
    sshman import <config-file> [-f] [-p <password>]

    Export files are always encrypted: pass -p <password> or you'll be prompted for one. Import requires that same password and refuses unencrypted files.

  • Goodbye:

    sshman goodbye

    Prints a random farewell message. Mostly here for fun.


Configuration Security

Sshman stores connection metadata in two places: host/port/username/privateKey live directly in your real ~/.ssh/config (in a marked section sshman manages, exactly like any other Host entry you'd write by hand), and config.json only holds bookkeeping (id, name, usePassword). Saved passwords are never written to disk in either file — they're stored in your OS keychain (via @napi-rs/keyring). Export files are the one place secrets leave the keychain: they're always encrypted with AES-256-GCM under a password you choose (sshman export -p <password>), and import refuses unencrypted files.


Troubleshooting

  • Debug mode:

    sshman debug enable   # turn on advanced troubleshooting output
    sshman debug disable
    sshman debug status
  • Check for updates:

    sshman check-updates

Development

Setup

  1. Clone the repository:
    git clone [email protected]:eightshone/ssh-man.git
  2. Install dependencies:
    npm install # or yarn install / pnpm install

Scripts

  • npm run dev: Start the project in development mode using tsx.
  • npm run build: Compile TypeScript to dist/.
  • npm run typecheck: Type-check the project without emitting output.
  • npm test: Run the test suite (Node's built-in test runner via tsx).

A Husky pre-commit hook runs typecheck and test before every commit.


License: MIT Author: EIGHTSH ONE