Ansible SSH 最佳实践

44次阅读
没有评论

问题描述

在设置 Ansible 在一个新环境中管理数千台机器时,想了解关于 SSH 认证(无密码、基于密钥等)的最佳实践,以及在企业环境中使用无密码 SSH 的最佳方法和原因。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

最佳实践:基于密钥的 SSH 认证

在设置 Ansible 时,使用基于密钥的 SSH 认证是最佳实践。以下是使用基于密钥的 SSH 认证的几个原因:
1. 可以使用相同的密钥或不同的密钥来 SSH 连接多台主机。
2. 如果在运行 Ansible playbook 时重新启动机器,它会再次使用您提供的密钥进行 SSH 连接,因此您的 Ansible playbook 可以无错误地运行。
3. 您可以使用适当的用户进行身份验证。

在 Ansible 中,您可以使用 inventory.ini 文件来配置主机和 SSH 认证。以下是一个示例 inventory.ini 文件的配置:

[hostMachine]
ubuntu@xx.xx.xx.xx  ansible_ssh_user=ubuntu ansible_ssh_private_key_file=/path of your pem file

[ABCDMachine]
ABCD@xx.xx.xx.xx ansible_ssh_user=ABCD ansible_ssh_private_key_file=/path of your pem file

在上面的示例中,我们定义了两个主机组 hostMachineABCDMachine。每个主机都指定了 SSH 用户和私钥文件的路径。

您可以使用以下命令运行 Ansible playbook:

ansible-playbook -i inventory.ini main.yml

请注意,这只是一个基本的示例,您可以根据您的实际需求进行更多的配置和定制化。

综上所述,使用基于密钥的 SSH 认证是在设置 Ansible 时的最佳实践。它提供了更好的安全性和灵活性,并且可以确保 Ansible playbook 的顺利运行。

正文完