zsh
Zsh is an amazing (mostly) drop-in replacement for bash.
On OSX, just run
> brew install zsh
You also want to install oh-my-zsh.
I went a little crazy with plugins. My list is:
plugins=(autojump brew git git-flow gnu-utils gpg2 osx textmate zsh-syntax-highlighting history-substring-search)
SSH
I ssh a lot. So I have a bunch of host entries in my .ssh/config file. Each looks like:
Host [shortname]
Hostname [hostname]
User [username for hostname]
IdentityFile [my home directory]/.ssh/[id_rsa file for this host]
You also need identity files for hosts you use. I tend to use a different one on each host I connect to; some might consider this overly paranoid. Probably it’d be better to use 1 key but only for a shorter period of time. In any case, you need to use