Ansible User 模块添加单用户并ssh-key复制
Ansible User 模块添加单用户并ssh-key复制
1 Ansible 版本:
ansible 2.9.6
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/site-packages/ansible
executable location = /usr/bin/ansible
python version = 2.7.5 (default, Aug 7 2019, 00:51:29) [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)]
2 Ansible 主机列表:
[web]
h1 ansible_ssh_host=10.10.XX.XX ansible_ssh_port=52113 ansible_ssh_user=root ansible_python_interpreter=/usr/bin/python
t1 ansible_ssh_host=10.10.XX.XX ansible_ssh_port=22 ansible_ssh_user=root ansible_python_interpreter=/usr/bin/python
#[run-group:children]
#run-1
#run-2
3 Ansible-player roles:
cat /etc/ansible/ansible_work/user-auth.yaml
###############
- hosts: all
remote_user: root
gather_facts: False
vars:
username: fmw
usergid: '501'
useruid: '501'
tasks:
- name: System Add group {{ username }}
group:
gid: '{{ usergid }}'
name: '{{ username }}'
state: present
system: yes
- name: System Add user {{ username }}
user:
name: '{{ username }}'
password: "$6$vfci7x2o$mteutRBiEVwj7vM.CcZeIxR232cXVZte84u5Hv7fnnrypjzpjxZQE4IrhmJLl7EH9/LZ77X2M7BZjRTBnplPKfDsD1"
shell: /bin/bash
group: '{{ usergid }}'
uid: '{{ useruid }}'
create_home: True
state: present
#- name: Create {{ username }} directory
# file: path='/home/{{ username }}/.ssh' state=directory owner={{ username }} group={{ username }} mode=0700
- name: set {{ usrename }} authorized key files
authorized_key:
user: '{{ username }}'
state: present
manage_dir: true # authorized_key 模块管理.ssh目录,如果不存在就自动创建,可以去掉上面的目录处理
key: "{{ lookup('file', '/home/fmw/.ssh/id_rsa.pub') }}"
4 运行剧本:
# 语法测试:
ansible-playbook user-auth.yaml --syntax-check
# 运行剧本:
1 ansible-playbook user-auth.yaml --check # 测试运行剧本,但不真正执行.
2 ansible-playbook user-auth.yaml -vvv # 运行并显示详细执行过程.
3 ansible-playbook user-auth.yaml # 运行脚本会显示执行结果(默认此模式).
# 例:
[root@redis-2 ansible]# ansible-playbook user-auth.yaml
PLAY [all] **********************************************************************************************************************************************************************************
TASK [System Add group fmw] *****************************************************************************************************************************************************************
changed: [t1]
changed: [h1]
TASK [System Add user fmw] ******************************************************************************************************************************************************************
changed: [t1]
changed: [h1]
TASK [set {{ usrename }} authorized key files] **********************************************************************************************************************************************
changed: [t1]
changed: [h1]
PLAY RECAP **********************************************************************************************************************************************************************************
h1 : ok=3 changed=3 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
t1 : ok=3 changed=3 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
Ansible User 模块添加单用户并ssh-key复制的更多相关文章
- centos为用户增加ssh key
linux增加用户,为用户增加key 可以用 ssh-keygen -t rsa 添加ssh的key,会得到public_key和自己的private_key 然后这个key可以用在任何用户上 ad ...
- github添加公钥出现 github ssh key Key is invalid. Ensure you've copied the file correctly的解决办法
因为在公钥查看的时候可能是利用了vim明明查看,所以会有换行,导致这个错误,解决方法是用cat命令查看文件,或者其他方式查看,总之公钥不能有换行.
- github入门:设置添加ssh key<转>
GitHub是个分布式的版本控制库.github通过git使用,可以方便的记录代码版本. 通过github可以学习优秀的代码,可以改进提交其他项目中的bug,借助社区力量促进软件优化完善. 国内外大量 ...
- github 添加 SSH key
在 github 上添加 SSH key 的步骤: 1.首先需要检查你电脑是否已经有 SSH key 运行 git Bash 客户端,输入如下代码: $ cd ~/.ssh $ ls 这两个命令就是检 ...
- gitlab 添加SSH Key
1.登录http://domain/users/sign_in 2.选择"Profile Settings",进入"Profile Settings"设置页面 ...
- 本地ssh key连接多个git账号
在开发过程中,可能需要在本地同时连接到多个gitlab账户,但是一个用户的ssh key只能连接到一个git账户,这就需要创建多个ssh key,分别连接到不同的账户.具体步骤如下: 1.生成ssh ...
- oschina git服务, 如何生成并部署ssh key
1.如何生成ssh公钥 你可以按如下命令来生成 sshkey: ssh-keygen -t rsa -C "xxxxx@xxxxx.com" # Generating public ...
- 单用户实例添加DB账号
停止实例 net stop mssqlserver 以单用户启动实例,指定以sqlcmd连接 net start mssqlserver /m"SQLCMD" 以单用户启动实例,指 ...
- ansible核心模块playbook介绍
ansible的playbook采用yaml语法,它简单地实现了json格式的事件描述.yaml之于json就像markdown之于html一样,极度简化了json的书写.在学习ansible pla ...
随机推荐
- mp4文件导致迅雷监视下载问题
原因:没有为mp4设置响应的mime Type,默认就是附件的形式. 应该为其设置mime type类型 video/mp4 <staticContent> <mimeMap fi ...
- SpringBoot 拦截器和自定义注解判断请求是否合法
应用场景举例: 当不同身份的用户请求一个接口时,用来校验用户某些身份,这样可以对单个字段数据进行精确权限控制,具体看代码注释 自定义注解 /** * 对比请求的用户身份是否符合 * @author l ...
- Day10 python高级特性-- 生成器 Generator
列表生成式可以创建列表,但是受内存限制,列表容量时有限的,创建一个巨量元素的列表,不仅占用很大的存储空间,当仅仅访问前几个元素时,后面的绝大多数元素占用的空间都被浪费了. 如果list的元素可以按照算 ...
- [日常摸鱼]bzoj1001狼抓兔子-最大流最小割
题意就是求最小割- 然后我们有这么一个定理(最大流-最小割定理 ): 任何一个网络图的最小割中边的容量之和等于图的最大流. (下面直接简称为最大流和最小割) 证明: 如果最大流>最小割,那把这些 ...
- 多任务-python实现-Thread的基本使用(2.1.1)
@ 目录 1.多任务的概念 2.线程 1.多任务的概念 "多任务工作"指的是当前很普遍的工作状态,一个人同时处理多件事情,比如以下这个常见的画面:写一会报告,刷一下网页,查一下资料 ...
- 怎样用Java 8优雅的开发业务
怎样用Java 8优雅的开发业务 目录 怎样用Java 8优雅的开发业务 函数式编程 流式编程 基本原理 案例 优雅的空处理 新的并发工具类CompletableFuture 单机批处理多线程执行模型 ...
- 基于SpringBoot+Mybatis+MySQL5.7的轻语音乐网
一个基于SpringBoot+Mybatis+MySQL5.7的轻语音乐网站项目 1.主要用到的技术: 使用maven进行项目构建 使用Springboot+Mybatis搭建整个系统 使用ajax连 ...
- wuter 使用了腾讯云Ubuntu系统,但是没有root权限怎么办?
友情链接: 手把手教你搭饥荒专用服务器(一)-服务器准备工作 手把手教你搭饥荒专用服务器(二)-环境配置及基本使用 手把手教你搭饥荒专用服务器(三)-MOD及其他高级设置 手把手教你搭饥荒专用服务器( ...
- Java学习_Java核心类
字符串和编码 字符串在String内部是通过一个char[]数组表示的,因此,可以按下面的写法: String s2 = new String(new char[] {'H', 'e', 'l', ' ...
- 论文阅读LR LIO-SAM
Abstract 紧耦合lidar inertial里程计, 用smoothing和mapping. 1. Introduction 紧耦合lidar-inertial里程计. 紧耦合的lidar i ...