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.0a1.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.0a1-py3-none-any.whl (13.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ssh_assistant-0.0.0a1.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.0a1.tar.gz
Algorithm Hash digest
SHA256 be6524dd3f9ff94e7b9020db232067278962c24b46079aac15b89fecfa7716e6
MD5 0662f3f30c45c2f82101cb239ad6a74d
BLAKE2b-256 d65e8b114402515eda7ad9ddaad1825de6125b4f65be68e1b6d73a3fe5afd817

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ssh_assistant-0.0.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 bc37ceebbfcfa332a68f93f73661baf107c8fe27d2ee1c9b32e04b138d373957
MD5 99ea7f89b03fc9f46cc3225712909865
BLAKE2b-256 4137ecc3de0a4883a2373f03dc3efe7f2aee3082ca326bcd0364291363a7f9d4

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