要使Ansible无需密码登录,需要进行以下步骤:
在Ansible主机上生成SSH密钥对。可以使用以下命令生成密钥对:
$ ssh-keygen -t rsa
在生成密钥对时,可以选择设置密码,但这样就无法实现无密码登录。
在目标主机上配置允许SSH公钥登录。将Ansible主机的公钥添加到目标主机的~/.ssh/authorized_keys文件中。可以使用以下命令将公钥复制到目标主机:
$ ssh-copy-id <目标主机的用户名>@<目标主机的IP地址>
在复制过程中,可能需要输入目标主机的密码。
验证无密码登录是否成功。可以使用以下命令测试:
$ ssh <目标主机的用户名>@<目标主机的IP地址>
如果无需输入密码即可登录目标主机,则表示配置成功。
更新Ansible的主机清单文件(inventory)。将目标主机的IP地址和用户名添加到清单文件中。例如:
[servers]
<目标主机的IP地址> ansible_user=<目标主机的用户名>
保存并关闭清单文件。
现在可以使用Ansible命令来管理目标主机,无需输入密码。例如,可以使用以下命令来检查目标主机的系统信息:
$ ansible servers -m setup
Ansible将会连接到目标主机并返回系统信息。
注意:在实际环境中,强烈建议使用有密码保护的SSH密钥对,以增加安全性。上述步骤中省略了设置密码的步骤,仅用于演示无密码登录的过程。