Làm cách nào để đặt người dùng ssh mặc định cho tất cả máy chủ trong Ansible?


11

Phiên bản ansible 2.1

Tôi có một tập tin kiểm kê hosts

[nodes]
host1
host2
...

Và một cuốn sách đơn giản site.yml

---
- hosts: all
  tasks:
    - include: tasks/main.yml

Nếu tôi chỉ bắt đầu chơi,

ansible-playbook -i hosts site.yml -vvvv

Tôi nhận được lỗi này cho tất cả các máy chủ,

ESTABLISH SSH CONNECTION FOR USER: None
fatal: [host1]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh.", "unreachable": true}
...

Tuy nhiên, đọc Ansible tồn kho doc, tôi đã thêm ansible_uservào hoststập tin,

[nodes]
host1    ansible_user=root
host2    ansible_user=root
...

Điều này giải quyết SSH CONNECTION UNREACHABLElỗi. Tuy nhiên, tôi có phải thêm ansible_user=rootbên cạnh tất cả các máy chủ không? Hoặc có một cách đơn giản hơn để làm điều này?

Câu trả lời:


11

Kiểm tra ví dụ / ansible.cfgtệp mặc định và bạn sẽ tìm thấy điều này trong [defaults]:

# default user to use for playbooks if user is not specified
# (/usr/bin/ansible will use current user as default)
#remote_user = root

Uncomment remote_uservà đặt người dùng thành những gì bạn muốn đăng nhập.

Ansible nhận được ở ansible.cfgđâu? Các tập tin tương tự giải thích:

# nearly all parameters can be overridden in ansible-playbook 
# or with command line flags. ansible will read ANSIBLE_CONFIG,
# ansible.cfg in the current working directory, .ansible.cfg in
# the home directory or /etc/ansible/ansible.cfg, whichever it
# finds first

Cảm ơn @Deltik, bạn có thể trả lời câu hỏi này không?
Howard Lee

@HowardLee: Câu hỏi khác của bạn chủ yếu dựa trên quan điểm và không phù hợp với Super User.
Deltik

4

Một cách khác là sử dụng --userđể xác định người dùng ssh từ xa. Gõ ansible-playbook --helpđể đọc thêm. Đây là lệnh tiêu biểu của tôi:

ansible-playbook -i hosts site.yml --user <user> --ask-pass -vvvv

--ask-pass sẽ nhắc nhập mật khẩu cho --user


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.