Skip to main content

Command line SSH menu and helper utility

Project description

sshmenu

sshmenu is a simple tool for connecting to remote hosts via ssh. Great if you have trouble remembering ip addresses, hostnames, or usernames.

This tool works by using Python’s os.execvp(...), which will replace the current process (python) with ssh to create a seamless transition.

https://i.imgur.com/LGrrENa.gif

Quick Setup

Tested working on macOS High Sierra (10.13.1) and Ubuntu Trusty Tahr (14.04), Xenial Xerus (16.04)

macOS

brew install https://raw.githubusercontent.com/mmeyer724/sshmenu/master/sshmenu.rb
sshmenu

Linux

pip3 install sshmenu
sshmenu

Development

git clone https://github.com/mmeyer724/sshmenu.git
cd sshmenu
pip3 install -r requirements.txt
python3 -m sshmenu

Configuration

On first run an example configuration file will be created for you, along with the path. For reference, I’ve added this information here as well.

OS X

nano ~/Library/Application\ Support/sshmenu/config.json

Linux

nano ~/.config/sshmenu/config.json

Default contents

{
    "targets": [
        {
            "host": "user@example-machine.local",
            "friendly": "This is an example target",
            "options": []
        },
        {
            "command": "mosh",
            "host": "user@example-machine.local",
            "friendly": "This is an example target using mosh",
            "options": []
        }
    ]
}

You can specify additional command line options (see man ssh) as follows:

{
    "targets": [
        {
            "host": "user@example-machine.local",
            "friendly": "An example target listening non-standard port and verbose flag",
            "options" : [
                "-p443",
                "-v"
            ]
        }
    ]
}

Todo

  • Automatically ask to place your ~/.ssh/id_rsa.pub into the remote host’s ~/.ssh/authorized_keys

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

sshmenu-0.0.4-py2.py3-none-any.whl (8.2 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file sshmenu-0.0.4-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for sshmenu-0.0.4-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 38e334f657923f3babd48ff2421d5c3f1739a7e8f56118f66be71440d2a18e05
MD5 2334f66f9c310092881bdbc83a4dc686
BLAKE2b-256 a7bcbe3ccb96908e1fdbe416c0397f69f0f4edf02260e0ff3ba5e1368b88c0ab

See more details on using hashes here.

Supported by

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