Ansible-免密登录与主机清单Inventory

Ansible的指定用户与密码登录、免密登录、指定ssh端口以及主机清单Inventory配置

主机规划

主机名称 操作系统版本 内网IP 外网IP(模拟) 安装软件
ansi-manager CentOS7.5 172.16.1.180 10.0.0.180 ansible
ansi-haproxy01 CentOS7.5 172.16.1.181 10.0.0.181
ansi-haproxy02 CentOS7.5 172.16.1.182 10.0.0.182
ansi-web01 CentOS7.5 172.16.1.183 10.0.0.183
ansi-web02 CentOS7.5 172.16.1.184 10.0.0.184
ansi-web03 CentOS7.5 172.16.1.185 10.0.0.185

在实际使用中并不需要对ansible配置进行修改,或者说只有需要的时候才修改ansible配置。

添加用户账号

说明:

1、 运维人员使用的登录账号;

2、 所有的业务都放在 /app/ 下「yun用户的家目录」,避免业务数据乱放;

3、 该用户也被 ansible 使用,因为几乎所有的生产环境都是禁止 root 远程登录的(因此该 yun 用户也进行了 sudo 提权)。

# 使用一个专门的用户,避免直接使用root用户
# 添加用户、指定家目录并指定用户密码
# sudo提权
# 让其它普通用户可以进入该目录查看信息
useradd -u 1050 -d /app yun && echo '123456' | /usr/bin/passwd --stdin yun
echo "yun  ALL=(ALL)       NOPASSWD: ALL" >>  /etc/sudoers
chmod 755 /app/

基于密码连接「了解」

在实际生产环境中,建议使用基于秘钥连接而不是密码连接。

原因如下:

1、将密码直接写入文件中,有安全隐患;

2、生产环境的密码可能会定期更换,如果基于密码连接,那么我们也会频繁的维护,造成维护成本高;

3、基于秘钥连接,我们只需要做一次秘钥分发,后期连接无需任何修改。

清单配置

[yun@ansi-manager ansible_info]$ pwd
/app/ansible_info
[yun@ansi-manager ansible_info]$ cat hosts_pwd 
# 未分组机器,放在所有组前面
# 默认端口22,可省略
# 方式1:主机 + 端口 + 密码
172.16.1.180   ansible_ssh_port=22 ansible_ssh_user=yun ansible_ssh_pass='123456'

# 方式2:主机 + 端口 + 密码
[proxyservers]
172.16.1.18[1:2] ansible_ssh_port=22 ansible_ssh_user=yun ansible_ssh_pass='123456'

# 方式3:主机 + 端口 + 密码
[webservers]
172.16.1.18[3:5] ansible_ssh_port=22 ansible_ssh_user=yun
[webservers:vars]
ansible_ssh_pass='123456'

测验连接

你可能感兴趣的:(自动化,ansible,linux,运维,linux,ansible,自动化,CentOS)