У меня возникают проблемы с 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?