Skip to content

A simple GUI front-end for OpenSSH for Windows, Linux and Mac!

License

Notifications You must be signed in to change notification settings

frequency403/OpenSSH-GUI

Repository files navigation

OpenSSH_GUI

A GUI for managing your SSH Keys - on Windows, Linux and macOS!

The primary reason for creating this project was to give "end-users"
a modern looking GUI for managing their SSH Keys - and making it easier
to deploy them to a server of their choice.

The program I found -> PuSSHy was, in my opinion
not as user-friendly as it could be. I also wanted to use this program on my different
machines, running on Linux and macOS. So I decided to create my own!

I hope you like it!

Installing

No Installation needed! Just run the OpenSSHA_GUI.exe or .bin

Usage

It is free to you, if you connect to a Server or not.
This program can be used on PC's (Local Machines) and Servers!

If you choose to connect to a server - beware!
This program - nor the author(s) take responsibility for saved messed up files!
Make a backup if you already have files!

If you need help, open an Issue

The program has a tooltip on every icon, describing what will happen
if you click on it.

Main Window

V2 UI


You can now convert the Key to the opposite format.
You can choose to delete or keep the key.
If the key is kept, the program will move it into a newly created sub-folder of your
.ssh directory.

Key without provided password

Password options, when a password was provided

Provide password prompt

Application Settings

App settings can be accessed through the settings context menu. There is also an option, that the program converts all PPK keys in your .ssh directory
to the OpenSSH format. The PPK Keys are not deleted, they will be put into a folder called PPK

Sorting feature

You can sort the keys, if you want to. Just click on the top description category to sort by.

Add SSH Key

Connect to a Server

Right-Click on the Connection-status icon and click "Connect" on the showing menu.

  • You can also auth with a public key from the recognized keys on your machine!

  • V2 Feature: Quick Connect
    If you submitted a valid connection earlier, the program will save the connection,
    and suggest this connection here for quick access.

  • You need to test the connection before you can submit it, if you do not use the new Quick-Connect feature.
    If you get a connection error, an error window shows up.

Edit Authorized Keys

Edit your local (or remote) authorized_keys!

In the remote Version you can even add a key from the recognized keys! The key cannot be added, when it's already present on the remote!

Edit Known Hosts Window

Here you have a list of all "Known Hosts" from your "known_hosts" file. If you want to remove one key from a Host, toggle the button of the specific Key. If you want to remove the whole host, just toggle the button on the top label.

Export Key Window

Tooltips

Tooltip when not connected to a server

Tooltip from Key

Tooltip from connection

Further Information

  • The program will create these at startup without prompting if they don't exist:
    .ssh/(authorized_keys, known_hosts)
    (.config/OpenSSH_GUI/ | AppData\Roaming\OpenSSH_GUI) OpenSSH_GUI and a "logs" directory

Attention: This program will save your Passwords!

You can not disable this feature. The Passwords are stored when:

  • you enter a server connection with a password
  • provide a password for a keyfile

Your passwords are stored on your local machine inside the SQLite Database, protected with AES-Encryption.
Only the program itself can read any kind of string value inside the database.

Plans for the future

  • Add functionality for putting a key onto a Server
  • Beautify UI
  • Add functionality for editing authorized_keys
  • Add functionality for editing local and remote SSH (user/root) Settings
  • Add functionality for editing application settings
  • Servers should be saved and quickly accessed in the connect window.
  • many more not yet known!

Authors

  • Oliver Schantz - Idea and primary development - GitHub

See also the list of contributors who participated in this project.

Used Libraries / Technologies

License

This project is licensed under the GNU General Public License v3