2015-10-11 11 views
12

Tôi đang cố gắng chạy một Playbook Ansible đối với một máy chủ bằng cách sử dụng một tài khoản khác với tài khoản tôi đăng nhập trên máy điều khiển. Tôi cố gắng để xác định một ansible_user trong file hàng tồn kho theo các tài liệu trên Inventory:Ansible: ansible_user trong khoảng không quảng cáo vs remote_user trong playbook

[srv1] 
192.168.1.146 ansible_connection=ssh ansible_user=user1 

Tuy nhiên Ansible gọi với ansible-playbook -i inventory playbook.yml -vvvv in như sau:

GATHERING FACTS *************************************************************** 
<192.168.1.146> ESTABLISH CONNECTION FOR USER: techraf 

gì làm việc cho tôi được thêm remote_user lập luận để playbook:

- hosts: srv1 
    remote_user: user1 

Bây giờ cùng một lệnh Ansible kết nối là user1:

GATHERING FACTS *************************************************************** 
<192.168.1.146> ESTABLISH CONNECTION FOR USER: user1 

Cũng thêm remote_user biến để ansible.cfg làm Ansible sử dụng người dùng có ý định thay vì đăng nhập trên một.

Có phải ansible_user trong tệp khoảng không quảng cáo và remote_user trong playbook/ansible.cfg cho các mục đích khác nhau không?

ansible_user được sử dụng để làm gì? Hoặc tại sao không Ansible quan sát cài đặt trong khoảng không quảng cáo?

Trả lời

11

Có thể bạn đang gặp phải sự cố thường gặp: tài liệu ansible đã xuất bản dành cho phiên bản phát triển (2.0 ngay bây giờ) và chúng tôi không giữ các tài liệu cũ xung quanh. Đó là một điểm lớn của tranh chấp ... Giả sử bạn đang sử dụng một cái gì đó trước 2.0, tên var hàng tồn kho bạn cần là ansible_ssh_user. ansible_user hoạt động ở 2.0 (cũng như ansible_ssh_user - nó được đặt bí danh).

+2

Thay đổi 'ansible_user' thành 'ansible_ssh_user' làm việc cho tôi với ansible 1.9.4. –

0

tôi thường thêm tên người dùng từ xa của tôi trong /etc/ansible/ansible.cfg như sau:

remote_user = MY_REMOTE_USERNAME 

Bằng cách này nó không phải là cần thiết để cấu hình ansible_user trong file hàng tồn kho cho mỗi mục sở tại.

Các vấn đề liên quan