Smart ssh’ing using screen

This has probably been done before, but I decided to set up a bash script tonight that would overload the ssh command and manage ssh connections using screen. I set it up so that when a detached screen to the host you’re connecting to is present, it would reattach that screen session instead of making a new one. If there weren’t any detached sessions, it starts up a new screen session by connecting to the host. I also made it name the screens in a somewhat intelligent manner. If the host you’re connecting to is specified by an IP address, it’ll attempt a reverse lookup to provide a more beneficial name than the IP. If the reverse lookup fails, it’ll just use the IP. If you’re connecting to a host based on a full or partial hostname, it’ll just use that as the screen name. I also made another command to shortcut searching for screens – lsscr. If it’s run with no parameters, it lists all screen sessions. If it is run with a parameter, it’ll take that parameter as a search string and show screen sessions matching that search string. And since I dig open source, I post my work here for all to pilfer.

[EDITx2] I’ve updated the functions a few times, and instead of reformatting HTML each time, I’m just going to post it in the wiki. Enjoy. [/EDITx2]

This code should be placed in your user’s .bashrc file (or the server-wide copy, if you prefer) for this to work right.

Leave a Comment

NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>