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复制的更多相关文章

  1. centos为用户增加ssh key

    linux增加用户,为用户增加key 可以用  ssh-keygen -t rsa 添加ssh的key,会得到public_key和自己的private_key 然后这个key可以用在任何用户上 ad ...

  2. github添加公钥出现 github ssh key Key is invalid. Ensure you've copied the file correctly的解决办法

    因为在公钥查看的时候可能是利用了vim明明查看,所以会有换行,导致这个错误,解决方法是用cat命令查看文件,或者其他方式查看,总之公钥不能有换行.

  3. github入门:设置添加ssh key<转>

    GitHub是个分布式的版本控制库.github通过git使用,可以方便的记录代码版本. 通过github可以学习优秀的代码,可以改进提交其他项目中的bug,借助社区力量促进软件优化完善. 国内外大量 ...

  4. github 添加 SSH key

    在 github 上添加 SSH key 的步骤: 1.首先需要检查你电脑是否已经有 SSH key 运行 git Bash 客户端,输入如下代码: $ cd ~/.ssh $ ls 这两个命令就是检 ...

  5. gitlab 添加SSH Key

    1.登录http://domain/users/sign_in 2.选择"Profile Settings",进入"Profile Settings"设置页面 ...

  6. 本地ssh key连接多个git账号

    在开发过程中,可能需要在本地同时连接到多个gitlab账户,但是一个用户的ssh key只能连接到一个git账户,这就需要创建多个ssh key,分别连接到不同的账户.具体步骤如下: 1.生成ssh ...

  7. oschina git服务, 如何生成并部署ssh key

    1.如何生成ssh公钥 你可以按如下命令来生成 sshkey: ssh-keygen -t rsa -C "xxxxx@xxxxx.com" # Generating public ...

  8. 单用户实例添加DB账号

    停止实例 net stop mssqlserver 以单用户启动实例,指定以sqlcmd连接 net start mssqlserver /m"SQLCMD" 以单用户启动实例,指 ...

  9. ansible核心模块playbook介绍

    ansible的playbook采用yaml语法,它简单地实现了json格式的事件描述.yaml之于json就像markdown之于html一样,极度简化了json的书写.在学习ansible pla ...

随机推荐

  1. mp4文件导致迅雷监视下载问题

    原因:没有为mp4设置响应的mime Type,默认就是附件的形式. 应该为其设置mime type类型  video/mp4 <staticContent> <mimeMap fi ...

  2. SpringBoot 拦截器和自定义注解判断请求是否合法

    应用场景举例: 当不同身份的用户请求一个接口时,用来校验用户某些身份,这样可以对单个字段数据进行精确权限控制,具体看代码注释 自定义注解 /** * 对比请求的用户身份是否符合 * @author l ...

  3. Day10 python高级特性-- 生成器 Generator

    列表生成式可以创建列表,但是受内存限制,列表容量时有限的,创建一个巨量元素的列表,不仅占用很大的存储空间,当仅仅访问前几个元素时,后面的绝大多数元素占用的空间都被浪费了. 如果list的元素可以按照算 ...

  4. [日常摸鱼]bzoj1001狼抓兔子-最大流最小割

    题意就是求最小割- 然后我们有这么一个定理(最大流-最小割定理 ): 任何一个网络图的最小割中边的容量之和等于图的最大流. (下面直接简称为最大流和最小割) 证明: 如果最大流>最小割,那把这些 ...

  5. 多任务-python实现-Thread的基本使用(2.1.1)

    @ 目录 1.多任务的概念 2.线程 1.多任务的概念 "多任务工作"指的是当前很普遍的工作状态,一个人同时处理多件事情,比如以下这个常见的画面:写一会报告,刷一下网页,查一下资料 ...

  6. 怎样用Java 8优雅的开发业务

    怎样用Java 8优雅的开发业务 目录 怎样用Java 8优雅的开发业务 函数式编程 流式编程 基本原理 案例 优雅的空处理 新的并发工具类CompletableFuture 单机批处理多线程执行模型 ...

  7. 基于SpringBoot+Mybatis+MySQL5.7的轻语音乐网

    一个基于SpringBoot+Mybatis+MySQL5.7的轻语音乐网站项目 1.主要用到的技术: 使用maven进行项目构建 使用Springboot+Mybatis搭建整个系统 使用ajax连 ...

  8. wuter 使用了腾讯云Ubuntu系统,但是没有root权限怎么办?

    友情链接: 手把手教你搭饥荒专用服务器(一)-服务器准备工作 手把手教你搭饥荒专用服务器(二)-环境配置及基本使用 手把手教你搭饥荒专用服务器(三)-MOD及其他高级设置 手把手教你搭饥荒专用服务器( ...

  9. Java学习_Java核心类

    字符串和编码 字符串在String内部是通过一个char[]数组表示的,因此,可以按下面的写法: String s2 = new String(new char[] {'H', 'e', 'l', ' ...

  10. 论文阅读LR LIO-SAM

    Abstract 紧耦合lidar inertial里程计, 用smoothing和mapping. 1. Introduction 紧耦合lidar-inertial里程计. 紧耦合的lidar i ...