安装ansible
目标:在wsl上安装ansible。并将自己作为agent进行控制管理。提供一个学习ansible的环境。
控制端安装ansible
$ sudo apt-get install software-properties-common
$ sudo apt-add-repository ppa:ansible/ansible
$ sudo apt-get update
$ sudo apt-get install ansible
检查安装:
ansible --version
打印结果:
ansible 2.9.6
config file = /etc/ansible/ansible.cfg
configured module search path = ['/home/yunzhong/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3/dist-packages/ansible
executable location = /usr/bin/ansible
python version = 3.8.5 (default, Jul 28 2020, 12:59:40) [GCC 9.3.0]
控制端配置节点
sudo vim /etc/ansible/hosts
添加内容:
[clientserver]
10.47.0.166
hosts文件中有详细的介绍,怎么配置。这里的配置内容是一个组clientserver,组下有一个主机10.47.0.166。
主机可以不在组下。组的名字和个数都是任意。
检查主机的配置是否正确:
ansible all --list-hosts
打印出所有配置的主机:
hosts (1):
10.47.0.166
agent 安装 ssh-server
sudo apt-get install openssh-server
sudo service ssh start
有可能抛异常:
sshd: no hostkeys available – exiting.
解决方法:
ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
设置登录key
agent受控机器需要设置免密码登录。vim /etc/ssh/sshd_config,修改PasswordAuthentication no 为:
PasswordAuthentication yes
重启ssh服务
sudo service ssh restart
在控制端执行:
ssh-copy-id yunzhong@10.47.0.166
验证配置
ansible -m ping all
输出结果:
10.47.0.166 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python3"
},
"changed": false,
"ping": "pong"
}
用户管理(非必要)
不同的用户可以实现多种样例。
创建用户mandy,指定根目录。
useradd -d /home/mandy -m mandy
用户密码设置
passwd mandy
更改默认的bash脚本:
usermod -s /bin/bash mandy
用户添加到sudo和admin组。用户可以执行sudo 管理员权限
usermod -a -G sudo mandy
usermod -a -G adm mandy
如果在创建的时候没有指定用户的home目录,可以通过usermod再次设置。上面的命令已经设置,所以这个操作不必执行。
sudo usermod -d /home/mandy -m mandy