efficient ssh using Quicksilver and Terminal

I commute from home to customers, and have a large set of remote servers I need to connect to using ssh. The normal way of starting Terminal.app, and typing “ssh user@host.sub.sub.domain.com” is OK, but when you have to do it 80 times a day, you quickly look for an efficient way of packing it in less keystrokes.

[For those not knowing Quicksilver, get it from here and then read that. Warning : the current Google code version (alpha 3) is buggy, it needs the plugins from the previous alpha 2. Search the google forum, a new fixed release should be released soon.]

In its default configuration (with the appropriate Terminal plugin), Quicksilver allows to do it this way :

  • invoke Quicksilver (usually CTRL-SPACE)
  • enter text mode (dot)
  • type “ssh user@host.sub.sub.domain.com”
  • TAB
  • Run a Text Command in Terminal

I don’t think it’s really shorter… now here is a nicer way :

On his blog, Florian Beer mention how to create ssh shortcuts, and place them in a location indexed by Spotlight or Launchbar. Here is how to do it with Quicksilver :

  • create a location for your shortcuts (I used ~/Data/Connections/)
  • create your shortcuts (see below)
  • in Quicksilver, create a new Source in Custom Catalog to scan your shortcut location

Usage :

  • invoke Quicksilver
  • type your shortcut until it is selected

You can as well find your shortcut location in Quicksilver, you then get a menu of your shortcuts.

Creating shortcuts

Shortcuts are small XML files, and can be created with this script :

  • download
  • save to your favorite script location
  • edit and set $shortcut_base if desired
  • chmod 0755 make_new_connection.pl
  • then use it once for each shortcut, pass 2 parameters (user and host)
   make_new_connection.pl user host

It will create the shortcut in the correct location. Don’t forget to rescan the source in the Quicksilver catalog. After a while, the most used shortcuts will be reached quickly, due to the dynamic indexing of Quicksilver.

Post a Comment

Your email is never published nor shared. Required fields are marked *