Skip to main content

SSH TUI Menu System and Related SSH Utilities

Project description

SSH Assistant

SSH Assistant a set of utilities related to SSH.

Pre-Requisites

  • Required
    • ssh
    • dialog
  • Recommended
    • sshpass
    • man
    • vim, nano, emacs, or other console text editor

Installation Instructions

pip install ssh-assistant
ssh-assistant

SSH Menu

The main reason SSH Assistant was created, this provides a full menu system around the Host entries in your SSH Config file.

SSH Menu: Features

  • No need to keep a separate file for menu entries.
  • SSH Assistant-specific statements look like comments to SSH.
  • SSH Host entries are grouped by categories (tags).
  • Utilize password files to avoid being prompted (and thus remembering) each password.

SSH Menu: SSH Config File Commands

There are 4 SSH Assistant commands you can put within the Host entries of you SSH config file. But, you only need to add 1 tag entry to incorporate a SSH Host entry in to the menu. If you do not, the SSH Host entry will be skipped.

Also note, there is a category called All which is automatically created for you, which contains all entries.

Command Required Description
# [MenuTitle] <text> no Short description. This is the text that appears as the menu item. If this is not provided, the host entry name is used. The user that will be used to login is also displayed here.
# [MenuDesc] <text> no Long description. This is help text that appears at the bottom of the screen for the menu item. The host address is also shown here.
# [MenuTags] <comma-separated list> yes A comma-separated list of categories (tags) to group the SSH host entries together. At least 1 tag is required, and it can be "All" if desired.
# [PasswordFile] <filename> no The file name passed to sshpass. Note that you are responsible for storing this securely.

SSH Menu: Example SSH Entries in Config File

# This is the minimum required for an entry to appear in the SSH Menu.
#   Menu entry text:  devws1 (current_user)
#   Menu help text:   (localhost)
#   Menu categories:  All
#   Password:         Will be prompted if needed
Host devws1
    Hostname localhost
    # [MenuTags] All


# This is an example using an SSH key for connection.
#   Menu entry text:  ProLUG Rocky 9.5 Home Server + (root)
#   Menu help text:   My personal Rocky Linux install for ProLUG labs (vm00)
#   Menu categories:  ProLUG, VirtualBox, Rocky Linux, All
#   Password:         Will be prompted if needed
Host vm00
    Hostname vm00
    User root
    IdentityFile ~/.ssh/id_ed25519
    # [MenuTags] ProLUG, VirtualBox, Rocky Linux
    # [MenuTitle] ProLUG Rocky 9.5 Home Server
    # [MenuDesc] My personal Rocky Linux install for ProLUG labs


# This is an example where a password file will be used with sshpass.
#   Menu entry text:  Proxmox 2 (root)
#   Menu help text:   (proxmox2)
#   Menu categories:  Bare Metal, Debian, All
#   Password:         Will be retrieved from file /home/joey/.ssh/passwords/proxmox2-root.pw
Host proxmox2
    Hostname proxmox2
    User root
    # [PasswordFile] /home/joey/.ssh/passwords/proxmox2-root.pw
    # [MenuTitle] Proxmox 2
    # [MenuTags]  Bare Metal, Debian

SSH Menu: Common Menu Hotkeys

Hotkey Description
Tab
Left Arrow
Right Arrow
Move Between Buttons
Esc Go Back
Control + C Quit Immediately
Enter Select Menu Item
Letter Keys
Up Arrow
Down Arrow
Navigate Between Menu Items
Mouse Control Depending on your system setup, the mouse may work within the menus

Utility Features

  • Edit your SSH config file with your favorite text editor.
  • Pull up the man page for the SSH config file.

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

ssh_assistant-0.0.0a2.tar.gz (9.2 kB view details)

Uploaded Source

Built Distribution

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

ssh_assistant-0.0.0a2-py3-none-any.whl (13.8 kB view details)

Uploaded Python 3

File details

Details for the file ssh_assistant-0.0.0a2.tar.gz.

File metadata

  • Download URL: ssh_assistant-0.0.0a2.tar.gz
  • Upload date:
  • Size: 9.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.20

File hashes

Hashes for ssh_assistant-0.0.0a2.tar.gz
Algorithm Hash digest
SHA256 25a895dfdad253e7eb823a2579edfcff34a993d9129ffa25ffcc5942bd58521e
MD5 3a84d97f109ed000117113cd60eab4e1
BLAKE2b-256 b7e68759f10ede0f607a909cb168c0dc83cee73e9695b6b96bb7ced7781e5ee7

See more details on using hashes here.

File details

Details for the file ssh_assistant-0.0.0a2-py3-none-any.whl.

File metadata

File hashes

Hashes for ssh_assistant-0.0.0a2-py3-none-any.whl
Algorithm Hash digest
SHA256 cfc0fb06d661a2bc9277122c57aab7b44c606e0364713ba2245b26889ea3417c
MD5 a6b3504ecf12b9a3cf3f54d8a9091c25
BLAKE2b-256 b20c146491a9a67d0f3b339dfda140d7bbd710f7ebb0779800097deec1426fe0

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