I use a number of different machines during my average day, many of those via ssh. I have a hard time remembering what the creds are for each of the machines so a long time ago I learned to use an .ssh/config file to keep track of the info. I also used to enjoy tab completion with ssh to find all the servers depending on context (e.g. home-www, home-fw, work-test1, etc) but, on RHEL 6 workstation, I didn’t have tab completion with ssh. Finally got around to looking at why and discovered a handy package in epel: bash-completion. Wow, lots and lots that I was missing (and, didn’t have to build for myself).
Check out EPEL. Once you have EPEL set up, then: sudo yum install bash-completion
Or for details see the package page (technically a noarch, this just happens to be the x86_64 link).
If you want to get in to writing your own, check out this article. The article is written about Debian but bash (or, potentially zsh) is what does the heavy lifting so it should be pretty x-distro. Please leave anything cool you make in the comments.