У меня возникают проблемы с Fabric
, не распознавая хосты, которые у меня есть в ~/.ssh/config
.
Мой fabfile.py
выглядит следующим образом:
from fabric.api import run, env
env.hosts = ['lulu']
def whoami():
run('whoami')
Запуск $ fab whoami
дает:
[lulu] run: whoami
Неустранимая ошибка: поиск имени не удался для Лула
Имя lulu
находится в моем ~/.ssh/config
, например:
Host lulu
hostname 192.168.100.100
port 2100
IdentityFile ~/.ssh/lulu-key
Моя первая мысль - это добавить что-то вроде lulu.lulu
в /etc/hosts
(я нахожусь на Mac), но потом я также должен передать файл идентификации Fabric - и я предпочел бы сохранить свой аутентификация (т.е. ~/.ssh/config
) отдельно от моего развертывания (т.е. fabfile.py
).
Кроме того, кстати, если вы попытаетесь подключиться к хосту в файле hosts, fabric.contrib.projects.rsync_project
, похоже, не признает "порты" в hosts.env
(т.е. если вы используете hosts.env = [lulu:2100]
вызов rsync_project
похоже, пытается подключиться к lulu:21
).
Есть ли причина, по которой Fabric не распознает это имя lulu
?