我的 Fabric
无法识别我在 ~/.ssh/config
中的宿主。
我的 fabfile.py
如下:
from fabric.api import run, env
env.hosts = ['lulu']
def whoami():
run('whoami')
运行 $ fab whoami
的结果是:
跑,哇哦
致命错误: 名称查找失败 露露
lulu
的名字在我的 ~/.ssh/config
里,像这样:
Host lulu
hostname 192.168.100.100
port 2100
IdentityFile ~/.ssh/lulu-key
我解决这个问题的第一个想法是向 /etc/hosts
添加类似于 lulu.lulu
的东西(我在 Mac 上) ,但是之后我还必须将身份文件传递给 Fabric ——我宁愿将身份验证(即 ~/.ssh/config
)与部署(即 fabfile.py
)分开。
另外,顺便说一句,如果你试图连接到主机文件中的主机,fabric.contrib.projects.rsync_project
似乎不承认 hosts.env
中的“端口”(即,如果你使用 hosts.env = [lulu:2100]
,一个对 rsync_project
的调用似乎试图连接到 lulu:21
)。
为什么 Fabric 不认识这个 lulu
的名字?