Thursday, November 21, 2024

[Ansible] ssh-keyscan trong Ansible

-

ssh-keyscan là một tiện ích dòng lệnh trong Unix/Linux, được sử dụng để tạo ra các khóa SSH hostkey và ghi chúng vào file known_hosts. Nó được sử dụng khi bạn cần kết nối đến một máy chủ SSH lần đầu tiên. Trong quá trình kết nối, SSH client sẽ yêu cầu bạn xác thực và xác nhận khóa của máy chủ trước khi cho phép kết nối. Nếu bạn không xác thực khóa của máy chủ này trước đó, bạn sẽ cần sử dụng ssh-keyscan để tạo khóa mới và ghi chúng vào known_hosts, giúp xác thực máy chủ một cách an toàn khi kết nối.

  • Mở terminal và truy cập vào máy tính của bạn.
  • Chạy lệnh ssh-keyscan để lấy vân tay của máy chủ đích:
ssh-keyscan <remote_host>

Ví dụ:

ssh-keyscan 192.168.1.100

Sao chép đầu ra vào file known_hosts:

ssh-keyscan <remote_host> >> ~/.ssh/known_hosts

Ví dụ:

ssh-keyscan 192.168.1.100 >> ~/.ssh/known_hosts

Lưu ý: Thay thế <remote_host> bằng địa chỉ IP hoặc tên máy chủ của máy chủ đích của bạn.

Bạn có thể sử dụng module command của Ansible để chạy lệnh ssh-keyscan 192.168.1.100 tại máy local của Ansible như sau:

- name: Get SSH host key for 192.168.1.100
  command: ssh-keyscan 192.168.1.100
  register: ssh_host_key

- name: Print SSH host key
  debug:
    var: ssh_host_key.stdout_lines

Trong đó, task đầu tiên sử dụng module command để chạy lệnh ssh-keyscan 192.168.1.100 và lưu kết quả vào biến ssh_host_key. Task thứ hai sử dụng module debug để in ra nội dung của biến ssh_host_key.stdout_lines.

Hoặc:

- name: Run a command on the local machine
  local_action:
    module: shell
    cmd: ssh-keyscan {{ ansible_host }}

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories