alias ssh-home="ssh -p 12345 znx@somelong.hostname.com"
Now whilst this eases the pain, you are missing some real magic that SSH and BASH can provide you! So lets get started:
Edit/Make the ~/.ssh/config
Host some HostKeyAlias somelong.hostname.com HostName somelong.hostname.com User znx Port 12345
Now what's that all about you say, well now the original long top line can be replaced with:
ssh some
MAGIC!
But that's not all, you can infact setup BASH to provide you with a tab completion on those new short hostnames!
Edit/Add to your ~/.bashrc
HOSTFILE=~/.hosts
function _ssh() {
local cur
cur=${COMP_WORDS[COMP_CWORD]}
if [ "${cur:0:1}" != "-" ]; then
COMPREPLY=( $(awk '/^Host '$2'/{print $2}' $HOME/.ssh/config) )
fi
return 0
}
complete -F _ssh ssh sftp scp
complete -A hostname ssh sftp scpEdit/Add to a ~/.hosts
192.168.1.2 some.long.host hostname 192.168.1.3 other.long.host host
To update the current shell you are running do:
source ~/.bashrc
Now here is the magic:
ssh s<TAB BUTTON>
At which point you will be given the option of "some" or "some.long.host". Better than all that is this, when you edit your ~/.ssh/config or your ~/.hosts to update or add a new host, it is INSTANTLY in your tab complete.
Weeeeee!
ssh home ssh work ssh somefriend ssh here ssh there










