Estou tendo problemas em Fabric
não reconhecer os hosts que tenho em ~/.ssh/config
.
Meu fabfile.py
é o seguinte:
from fabric.api import run, env
env.hosts = ['lulu']
def whoami():
run('whoami')
Correr $ fab whoami
dá:
[lulu] run: whoami
Erro fatal: a pesquisa de nome falhou para lulu
O nome lulu
está no meu ~/.ssh/config
, assim:
Host lulu
hostname 192.168.100.100
port 2100
IdentityFile ~/.ssh/lulu-key
Meu primeiro pensamento para resolver este está adicionando algo como lulu.lulu
a /etc/hosts
(eu estou em um Mac), mas então eu tenho que passar também no arquivo de identidade de tecido - e eu prefiro manter a minha autenticação (ie ~/.ssh/config
) separada da minha implantação ( ie fabfile.py
).
Também, aliás, se você tentar se conectar a um host no arquivo hosts, fabric.contrib.projects.rsync_project
não parece reconhecer as 'portas' no hosts.env
(ou seja, se você usar hosts.env = [lulu:2100]
uma chamada para, rsync_project
parece tentar se conectar a lulu:21
).
Existe um motivo pelo qual o Fabric não reconhece esse lulu
nome?