NỘI DUNG
Tiêp tục chuổi bài viết về Ansible. Ở bài trước mình đã giới thiệu về Ansible và cách cài đặt Ansible, trong bài này mình sẽ hướng dẫn bạn cách xác thực SSH đối với server linux.
Chuẩn bị
- Máy chủ Linux chạy Ansible
- Máy chủ cần remote tự động hóa
Trước khi đi vào thực hiện mình sẽ kiểm tra thử nếu không xác thực thì liệu có hoạt động hay không.
Tạo file inventory chứa thông tin về các node cần quản lý:
vi /etc/ansible/hosts
[node1] #Gop cac host thanh mot Group va dat ten cho Group 103.110.86.151 #host 103.110.86.170 #host
Sử dụng module ping để kiểm tra nếu không kết nối liệu có dùng được không. Bạn sử dụng cú pháp như sau
ansible node1 -m ping
Trong đó:
- node1: Tên group mình đặt ở trên
- -m: module name
- ping: lệnh thực hiện
Và khi thực hiện nhận được yêu cầu nhập vào thông tin SSH.
1. Sử dụng User và mât khẩu
Bạn hãy mở file /etc/ansible/hosts
sau đó thêm vào như sau.
vi /etc/ansible/hosts
Cú pháp sử dụng user và mật khẩu
ip_host ansible_user=”ten_user” ansible_password=”mạt-khau”
Ví dụ:
103.110.86.151 ansible_user="root" ansible_password="b0c7moYkrX"
Sau khi đã nhập vào tên user và mật khẩu mình sẽ thực hiện test lại với module ping. Và bên dưới trả về kết quả SUCCESS
đối với host có IP 151. Với host IP 170 không hoạt động vì post ssh mình không mở.
2. Sử dụng ssh-key
Tạo ssh-key sử dụng passphare
Tạo ssh-key
mkdir ~/.ssh && chmod 700 ~/.ssh && cd ~/.ssh ssh-keygen -t rsa
Copy public key lên máy chủ host
ssh-copy-id -i id_rsa.pub root@ip
Khai báo đường dẫn file private key
vi /etc/ansible/ansible.cfg
Tại file này bạn hãy nhập vào đường dẫn đến file private key
private_key_file = <PATH TO KEY_FILE>
Sau khi đã khai báo đường dẫn mình sẽ thực hiện kiểm tra lịa với module ping. Và kết quả thực hiện thành công với ssh-key
Tạo ssh-key không sử dụng passphare
Tạo SSH key
mkdir ~/.ssh && chmod 700 ~/.ssh && cd ~/.ssh ssh-keygen -t rsa
Copy public key lên máy chủ host
ssh-copy-id -i id_rsa.pub root@ip
Khai báo đường dẫn file private key
vi /etc/ansible/ansible.cfg
Tại file này bạn hãy nhập vào đường dẫn đến file private key
private_key_file = <PATH TO KEY_FILE>
Bây giờ mình thực hiện kiểm tra thì đã thành công và không cần nhập passphare
Như vậy trong bài viết này mình đã hướng dẫn bạn Cách xác thực SSH đối với Server Linux. Hãy tham khảo các bài viết tiếp theo trong series về Ansible nhé.
Xem thêm các bài viết liên quan về Ansible