2014-12-09 16 views
5

Xin chào Tôi đã viết một cuốn sách nhỏ cho Ansible để cài đặt một vài ứng dụng. Tôi đang gặp rắc rối vì tôi phải chạy mọi thứ như người chủ mà không phải là một ý tưởng hay.Cấu hình máy chủ lưu trữ an toàn bằng cách sử dụng khóa cá nhân và người dùng sudo

Vì vậy, tôi đã tạo một người dùng sudo và đã tạo khóa riêng để xác thực.

Một số người có thể giúp tôi xác định tệp máy chủ cho trường hợp này.

hosts hiện tại của tôi là như thế này:

[webserver] 
web-01 ansible_ssh_host=192.168.0.11 ansible_ssh_user=root 

Cảm ơn,

Trả lời

8

file host mới của bạn sẽ được giống như thế này:

[webserver] 
web-01 ansible_ssh_host=192.168.0.11 ansible_ssh_user=USERNAME ansible_ssh_private_key_file=/secure/mykey 

Nhưng xin cũng làm cho sudo: Đúng trong playbook của bạn như thế này:

--- 
    - hosts: webserver 
    sudo: True 
    remote_user: USERNAME 
    gather_facts: True 
    # Run these tasks 
    tasks: 
     - name: Run this task..... 

Một điều quan trọng mà người dùng sudo của bạn nên có mật khẩu ít hơn, để đạt được điều đó bạn nên chỉnh sửa tệp sudoer của mình. Nếu bạn đang sử dụng CentOS, sau đó xin vui lòng chỉnh sửa/etc/sudoers file và thêm dòng sau

USERNAME ALL=(ALL) NOPASSWD: ALL 

xin thêm dòng này sau dòng cuối cùng mà nói

#includedir /etc/sudoers.d 

Nếu bạn đang sử dụng Ubuntu, sau đó sử dụng lệnh visudo, tìm và sửa các dòng dưới đây:

# Members of the admin group may gain root privileges 
%sudo ALL=(ALL:ALL) NOPASSWD: ALL 
+0

Cảm ơn Nó hoạt động :) – Adithya

+0

Tuyệt vời, có thể bạn vui lòng cho tôi biết phần nào giúp bạn. Cảm ơn –

+0

Tôi sử dụng này '#Running với người dùng root web-01 ansible_ssh_host = 192.168.0.11 ansible_ssh_user = gốc #Running như sử dụng sudo web-02 ansible_ssh_host = 192.168.0.103 ansible_ssh_user = user_name ansible_sudo_pass =' ​​password'' – Adithya

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