Fabric では ssh の接続に Paramiko をつかう。
というわけで、ssh_config に ProxyCommand を指定してあったとしてもそのままでは読んでくれない。
参照させるには、頭のほうに
from fabric.state import env
env.use_ssh_config = True
を入れる。
IdentityFile、ForwardAgent についても設定できる。
デフォルトでは
env.key_filename = None
env.forward_agent = False
マニュアルには
dentityFile
はenv.key_filename
を(置き換えるのではなく)拡張します。
とあるので、
if not env.key_filename:
env.key_filename = []
env.key_filename.append('/path/to/file')
のようにするのが正しいのだろうか。
詳細は [実行モデル — Fabric ドキュメント> ネイティブのSSH configファイルの活用]
(http://fabric-ja.readthedocs.org/ja/latest/usage/execution.html#leveraging-native-ssh-config-files) を参照する。