У меня проблемы с Fabric
, не распознающими хосты, которые у меня есть в ~/.ssh/config
.
Мой fabfile.py
выглядит следующим образом:
from fabric.api import run, env
env.hosts = ['lulu']
def whoami():
run('whoami')
Запуск $ fab whoami
дает:
[lulu] run: whoami
Неустранимая ошибка: поиск имени не удался для lulu
Имя 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
имя?