需求
将新员工创建的sshkey公钥添加到所有需要的服务器上
前期准备
- 本地host配置(非必须不配置可使用ip地址)
- 配置.ssh/conf 使用sshkey方式登陆
- 获取新员工的id_rsa.pub(默认生成的公钥名称)
安装ansible
当前使用mac系统,推荐使用brew安装
1
brew install ansible
其它系统自行搜索
配置ansible hosts文件
创建文件(如果已有则编辑)”/etc/ansible/hosts” 输入如下内容:
1
2
3
4[web]
dev-node1
dev-node2
dev-node3
PS: [web]为分组信息可以有多个组
PS: 这里使用的别名是在本地hosts(系统的hosts文件)配置的,没有配置可以使用ip
编写ansible-playbook执行脚本
在当前目录下创建push-ssh.yaml文件,并写入如下内容:
1 | - hosts: web |
PS: id_rsa.pub为要添加的员工公钥,文件名字和路径根据自己的实际情况修改
执行脚本
使用如下命令执行:
1
ansible-playbook push-ssh.yaml
执行结果:
$ ansible-playbook push-ssh.yaml
PLAY [web] ***************************************************************************************************************************************************************************************
TASK [Gathering Facts] ***************************************************************************************************************************************************************************
ok: [dev-node1]
ok: [dev-node2]
ok: [dev-node3]
TASK [ssh-key-copy] ******************************************************************************************************************************************************************************
changed: [dev-node2]
changed: [dev-node1]
changed: [dev-node3]
PLAY RECAP ***************************************************************************************************************************************************************************************
dev-node1 : ok=2 changed=1 unreachable=0 failed=0
dev-node2 : ok=2 changed=1 unreachable=0 failed=0
dev-node3 : ok=2 changed=1 unreachable=0 failed=0
验证
现在可以让这位新员工使用ssh 登陆服务器试一下了 ^_^
本文作者:
ixx
本文链接: http://blog.jisuye.com/2018/03/19/ansible_note/
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!
本文链接: http://blog.jisuye.com/2018/03/19/ansible_note/
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!