Sunday, August 19, 2007

SSH Menu - Save and Open SSH Connections from the Panel

I was looking for a replacement for SecureCRT in Ubuntu. Something that would let me save all my SSH connections and make it possible to open a connection with the least effort.

As is often the case, I found something better than SecureCRT - a panel applet for GNOME that gives me a drop-down list of SSH connections. SSHMenu is cool, way too cool.
SSH Menu

Above, you can see my list of ssh accounts in all their glory. A connection is just a click away.

When you set up the connections, you can specify the geometry - ie, where on your desktop you want the gnome-terminal window to pop up, as well as a “profile” for the gnome-terminal instance - very handy if you want to have different color schemes for different ssh accounts to be able to distinguish between them better.
SSH Menu Options

What’s even better is, in the “Hostname (etc)” field, you can prepend ssh options to the hostname. The figure below shows my port forwarding setup for IRC at school, since I can’t chat using port 6667 at school.
SSHMenu Account Options

There’s a Debian/Ubuntu repository for SSHMenu, and of course, nothing stops you from downloading the .deb packages and installing them if you don’t wish to add another repository to you list of repositories. I wonder how long before SSHMenu finds itself into the Ubuntu repositories :)

Once you get SSHMenu installed, you can add it to your panel by right-clicking on your GNOME panel, and selecting “Add to Panel”. SSHMenu should be listed as “SSH Menu Applet” under the “Utilities” section. Then all you have to do is use the tool to add accounts that pops-up when you install the applet, or add the accounts later by clicking on the “SSH” in your panel. However, this still doesn’t take us to “one-click” login, since you will be prompted for your password by the server you are trying to connect to.

To make the connections truly one-click (or two-click), you might want to setup password-less logins using ssh-keygen and ssh-copy-id. A quick overview of that process follows:
On your local computer, type:
$ssh-keygen -t rsa
When prompted for a password, you may want to enter none. If you enter a password there, you will have to enter it everytime you try to use the “passwordless” login, which kind of defeats the purpose.
Once your RSA key-pair is generated, you need to add the public key to your server’s ~/.ssh/authorized_keys file. You can do this very easily by typing (on your local computer):
$ssh-copy-id ~/.ssh/id_rsa.pub username@example.com
This will copy your public key for the just-generated RSA keypair to the example.com ssh account, where your username is “username”.
Of course, for this passwordless login to work, the server needs to accept this method of authentication. There’s an old article at the Debian Administration blog that describes the process in a little more detail, and countless others have written about this, so you won’t have trouble finding info.

No comments: