Tôi gặp sự cố với Fabric
không nhận dạng được máy chủ lưu trữ mà tôi có trong ~/.ssh/config
.Kết nối với máy chủ được liệt kê trong ~/.ssh/config khi sử dụng Fabric
My fabfile.py
được như sau:
from fabric.api import run, env
env.hosts = ['lulu']
def whoami():
run('whoami')
Chạy $ fab whoami
cho:
[lulu] run: whoami
Fatal error: Name lookup failed for lulu
Tên lulu
là trong ~/.ssh/config
của tôi, như thế này:
Host lulu
hostname 192.168.100.100
port 2100
IdentityFile ~/.ssh/lulu-key
Suy nghĩ đầu tiên của tôi để giải quyết điều này là thêm một cái gì đó như lulu.lulu
đến /etc/hosts
(Tôi đang ở trên máy Mac), nhưng sau đó tôi cũng phải chuyển vào tệp danh tính cho Vải - và tôi muốn giữ nguyên xác thực của mình (tức là ~/.ssh/config
) tách biệt khỏi triển khai của tôi (ví dụ: fabfile.py
).
Đồng thời, tình cờ, nếu bạn cố gắng kết nối với một máy chủ trong tập tin host, fabric.contrib.projects.rsync_project
dường như không thừa nhận 'cổng' trong hosts.env
(tức là nếu bạn sử dụng hosts.env = [lulu:2100]
một cuộc gọi đến rsync_project
dường như cố gắng kết nối với lulu:21
).
Có lý do Vải không nhận ra tên lulu
này không?
Câu trả lời ban đầu được bắt đầu bằng" Câu trả lời được chấp nhận đã lỗi thời "[vì nó đã ghi lại hành vi trước 1.4.0]. Tôi đã xóa lời nói đầu này, vì câu trả lời của tôi đã được chấp nhận thay thế;) Cảm ơn! – rbp
chỉ cần thử nghiệm này trên 1.4.3 - hoạt động tốt. –