- Implementing DevOps with Ansible 2
- Jonathan McAllister
- 193字
- 2021-07-02 19:02:59
Setting up authentication between the control server and hosts
When connecting Ansible with remote hosts, Ansible's best practices encourage the use of SSH key sharing. SSH keys allow one Linux host to talk to another without asking for a specific password. In this section we are going to briefly look at how to set SSH key sharing up on the control server and n number of target machines.
If SSH key Sharing is not available Ansible also offers the option to ask for a password using the --ask-become-pass command-line argument.
To get started, create a /etc/ansible/hosts (if it doesn't exist) and add one or more remote systems into its contents. Your specific public SSH key should be located in authorized_keys on those target systems.
In this brief tutorial we will assume the SSH key authentication solution is being used. It helps us avoid having to enter or store raw passwords:
$ ssh-agent bash
$ ssh-add ~/.ssh/id_rsa
Now ping all the nodes (assumes you have an inventory file created):
$ ansible all -m ping
For a complete documentation set around setting up SSH key sharing in Ubuntu the documentation can be found at http://linuxproblem.org/art_9.html.