Skip to content
/ sshko Public

Are you lazy and can not remember ssh connection? Then this is for you! This is a ssh connection saver. It can be easy modified.

License

Notifications You must be signed in to change notification settings

stdakov/sshko

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sshko

🚀 sshko is a simple SSH connection manager for lazy people (and proud of it!).
Stop memorizing hostnames, ports, and SSH flags — just save them once and pick from a dialog menu next time.


✨ Features

  • Automatically logs every SSH connection you make via sshko.
  • Stores connections (with optional notes) in ~/.sshLog.txt (CSV format).
  • Supports advanced SSH options, e.g. -p 3002 user@host.
  • Interactive dialog menu with:
    • Connect — jump straight into SSH.
    • Delete — remove entries you don’t need anymore.
    • Cancel — quit the menu.
  • Super easy to tweak: it’s just a bash script.

📦 Requirements

  • ssh
  • dialog (for the menu UI)

Install dialog if missing:

Debian/Ubuntu

sudo apt install ssh dialog

Fedora/RHEL

sudo dnf install openssh dialog

⚡ Installation

  1. Copy sshko.sh to your home directory (or anywhere you like):
    cp sshko.sh ~/
  2. Make it executable:
    chmod +x ~/sshko.sh
  3. Add an alias to your shell config (~/.bashrc or ~/.zshrc):
    alias sshko="~/sshko.sh $@"
  4. Reload your shell:
    source ~/.bashrc

🛠 Usage

First run

sshko

If no connections are saved yet, you’ll see:

ssh log file is empty

Add a new connection

Use sshko the same way you’d use ssh:

sshko user@192.168.1.101
  • The connection is saved to ~/.sshLog.txt.
  • You’ll be prompted for an optional note (e.g., Home server).
  • sshko then connects you right away.

Example entry in ~/.sshLog.txt:

user@192.168.1.101, Home server

Advanced SSH with options

You can store full SSH specs, including flags:

sshko -p 3002 admin@14.11.17.16

Saved as:

-p 3002 admin@14.72.117.167, Jenkins

Open the menu

Run:

sshko

You’ll get a dialog menu like this:

SSH                               | NOTE
--------------------------------- | ----------------
user@192.168.1.101                | Home server
-p 3002 admin@14.11.17.16        | Jenkins

From here you can:

  • Connect to a host
  • Delete an entry
  • Cancel to exit


📂 Data storage

Connections are stored in:

~/.sshLog.txt

Each line is:

<ssh command>, <note>

Examples:

user@192.168.1.101, Home server
-p 3002 stas@14.72.117.167, Jenkins

You can edit this file manually if you want to rename notes or reorder connections.


🎉 Why sshko?

Because you’re lazy 😅 — and that’s a feature.
Why memorize every host, port, and flag when you can just run sshko and pick from a menu?


Happy SSH-ing! 🔑✨

About

Are you lazy and can not remember ssh connection? Then this is for you! This is a ssh connection saver. It can be easy modified.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages