`Zsh` completion works with so called ssh bookmarks. These are per host configurations in `~/.ssh/config`.
For example,
host baz
hostname 192.168.1.2
port 22
user warrick
host bar
hostname example.com
port 2200
user kevin
identityfile /home/warrick/.ssh/ec2.pem
`man ssh_config` to see a full list of options.
**EDIT**
I am using the completion script from ohmyzsh:
<
In similiar style to `ohmyzsh`, I placed the above script into `~/.zsh/libs/completion.zsh` and added this to `~/.zshrc`.
# ~/.zshrc
for f in ~/.zsh/libs/*; do
source $f
done