Since version 1.4.0, Fabric uses your ssh config (partly). However, you need to explicitly enable it, with
env.use_ssh_config = True
somewhere near the top of your fabfile. Once you do this, Fabric should read your ssh config (from ~/.ssh/config
by default, or from env.ssh_config_path
).
One warning: if you use a version older than 1.5.4, an abort will occur if env.use_ssh_config
is set but there is no config file present. In that case, you can use a workaround like:
if env.ssh_config_path and os.path.isfile(os.path.expanduser(env.ssh_config_path)):
env.use_ssh_config = True