Ich habe Probleme damit Fabric
, Hosts, in denen ich mich befinde, nicht zu erkennen ~/.ssh/config
.
Mein fabfile.py
ist wie folgt:
from fabric.api import run, env
env.hosts = ['lulu']
def whoami():
run('whoami')
Laufen $ fab whoami
gibt:
[lulu] rennen: whoami
Schwerwiegender Fehler: Namenssuche für Lulu fehlgeschlagen
Der Name lulu
ist in meinem ~/.ssh/config
, so:
Host lulu
hostname 192.168.100.100
port 2100
IdentityFile ~/.ssh/lulu-key
Mein erster Gedanke, um dies zu lösen, ist das Hinzufügen lulu.lulu
von /etc/hosts
(ich bin auf einem Mac), aber dann muss ich auch die Identitätsdatei an Fabric übergeben - und ich möchte lieber meine Authentifizierung (dh ~/.ssh/config
) von meiner Bereitstellung trennen ( dh fabfile.py
).
Übrigens, wenn Sie versuchen, eine Verbindung zu einem Host in der Hosts-Datei herzustellen, werden fabric.contrib.projects.rsync_project
'Ports' in der Datei übrigens nicht bestätigt hosts.env
(dh wenn Sie hosts.env = [lulu:2100]
einen Anruf verwenden, um rsync_project
zu versuchen, eine Verbindung herzustellen lulu:21
).
Gibt es einen Grund, warum Fabric diesen lulu
Namen nicht erkennt ?