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