Skip to content

piotr-woojcik/ssh-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SSH Manager

A command-line tool for managing SSH connections and port forwarding written in Go.

Features

  • Store and manage SSH connections with easy-to-remember slugs
  • Support for SSH key paths and commands (like pass)
  • Port forwarding management
  • SFTP support
  • Interactive command prompt
  • Zsh completion

Installation

From Source

# Clone the repository
git clone https://github.com/piotr-woojcik/ssh-manager.git
cd ssh-manager

# Build and install
go install ./cmd/ssh-manager

Shell Completion (zsh)

Add to your ~/.zshrc if not already present:

autoload -U compinit; compinit

Generate completion script:

ssh-manager zsh-completion > "${fpath[1]}/_ssh-manager"

Usage

Adding a Connection

ssh-manager add
# Follow the interactive prompts:
# - Enter slug (e.g., 'prod-server')
# - Enter address (e.g., 'example.com')
# - Enter user (e.g., 'admin')
# - Enter SSH key path or command (e.g., '~/.ssh/id_rsa' or 'pass show ssh/key')
# - Is this a command? (y/n)

Adding Port Forwarding

ssh-manager forward-port [slug]
# Enter local and remote ports when prompted

Listing Connections

ssh-manager ls

Connecting

ssh-manager connect [slug]    # SSH connection
ssh-manager connect-sftp [slug]  # SFTP connection

Editing a Connection

ssh-manager edit [slug]

Deleting a Connection

ssh-manager delete [slug]

Configuration

All data is stored in ~/.ssh-manager/:

  • SQLite database: ~/.ssh-manager/ssh-manager.db

License

MIT License

About

CLI tool to simplify ssh connections management

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages