Ansible 批量推送公钥到远程服务器

1.使用 ssh-keygen -t rsa生成密钥对

 ssh-keygen -t rsa

2.推送单个公钥到远程机器

格式: ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected][ip,hostname]

ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

3.添加ansible hosts

编辑/etc/ansible/hosts,没有则创建些文件。

格式:【主机名】 【主机地址】 【主机密码】  默认是root用户来进行的

[tomcat-servers]
1 ansible_ssh_user="tomcat"  ansible_ssh_host=192.168.100.1 ansible_ssh_pass="test"
2 ansible_ssh_user="tomcat"  ansible_ssh_host=192.168.100.2 ansible_ssh_pass="test"

新版的ansible(2.4) hosts有更新, 用以下方式:


[tomcat-servers]
192.168.100.1   ansible_user=tomcat  ansible_ssh_pass="test"
192.168.100.2   ansible_user=tomcat  ansible_ssh_pass="test"

4.批量推送公钥到远程机器

机器多的情况下,使用ssh-copy-id方法有些费时,使用ansible-playbook推送ymal,这里使用到了authoried_keys模块,可以参考 http://docs.ansible.com/authorized_key_module.html

将以下文件命名为:push.ssh.ymal

 # Using alternate directory locations:
  - hosts: tomcat-servers
    user: tomcat
    tasks:
     - name: ssh-copy
       authorized_key: user=tomcat key="{{ lookup(‘file‘, ‘/home/tomcat/.ssh/id_rsa.pub‘) }}"
       tags:
         - sshkey

5.执行推送命令

ansible-playbook push.ssh.ymal 

6.如若报错,解决

Using a SSH password instead of a key is not possible because Host Key checking is enabled and sshpass does not support this.  Please add this host‘s fingerprint to your known_hosts file to manage this host.

修改host_key_checking(默认是check的):

vi /home/xiangdong/ansible/ansible.cfg
# uncomment this to disable SSH key host checking
host_key_checking = False

7.测试

#查看各机器时间
ansible all -a date
#ansible all -m command -a date # 作用同上

#ping
 ansible all -m ping

输出结果:

$ ansible all  -m ping
192.168.100.1 | SUCCESS => {
    "changed": false,
    "ping": "pong"
}

参考:

https://www.cnblogs.com/amosli/p/6122908.html

1.http://mageedu.blog.51cto.com/4265610/1412028

2.http://www.justwinit.cn/post/8973/

原文地址:https://www.cnblogs.com/sandshell/p/11701552.html

时间: 2024-10-01 03:10:57

Ansible 批量推送公钥到远程服务器的相关文章

自动化运维工具ansible学习+使用ansible批量推送公钥到远程主机

目录: 一.ansible简介 1.1.ansible是什么 1.2.ansible如何工作 1.3.ansible优缺点 1.4.ansible安装方式 1.5.ansible文件简单介绍 1.6.ansible简单使用 二.ansible-shell简介 2.1.ansible-shell是什么 2.2.ansible-shell安装方式 2.3.ansible-shell简单使用 三.使用ansible的authorized_key模块批量推送公钥到远程主机 3.1.生产秘钥对 3.2.使

ansible 批量推送公钥

这里我们使用ansible的playbook 的功能来推送秘钥 使用方法参见:http://blog.csdn.net/magedu_linux/article/details/48529645 这里我们首先配置好hosts,比如说 [email protected]:/etc/ansible/yml# cat /etc/ansible/hosts [sky_2] #sky1 ansible_ssh_host=10.10.20.2 ansible_ssh_port=102 ansible_ssh

自动化运维Ansible批量部署服务+shell脚本批量推送公钥

一.概述分析 由于互联网的快速发展导致产品更新换代速度逐渐加快,运维人员每天都要进行大量的维护操作,仍旧按照传统方式进行维护会使得工作效率低下.这时,部署自动化运维就可以尽可能安全.高效地完成这些工作.一般会把自动化运维工具划分为两类:一类是需要使用代理工具的,也就是基于专用的ABem程序来完成管理功能,如: Puppet.Func. Zabbix等:另外一类是不需要配置代理工具的,可以直接基于SSH服务来完成管理功能,如: Ansible. Fabric等. - 下面介绍几款功能类似的自动化运

ansible 批量推送ssh秘钥

ansible 批量推送ssh秘钥 参考:http://docs.ansible.com/ansible/authorized_key_module.html # vi /etc/ansible/hosts [caoguo] 192.168.88.154 ansible_ssh_user=root ansible_ssh_pass=toor ansible_ssh_port=22 [[email protected] ansible]# ssh-keygen Generating public/

ansible 批量推送 ansible_ssh_pass + ansible_sudo_pass+ become 使用案例

使用ansible 也有好长时间了,以前的机器都是做好的模板,配置了ssh 无密码登陆,推送起来一般很方便.今天闲来无事,刚好手头也有个事情做,将明文密码推送的样例贴出来共享. 直入主题, 需求:修改一批机器的Hosts 文件,需要sudo 权限,并且sudo 账号(我这里是centos账号,)没有配置ssh 无密码登陆.(但是centos 账号都已经在/etc/sudoers 里面加过sudo 权限) 这里本人想偷懒,不想一台台再去配置免密钥ssh 登陆,就索性用ansible 明文密码推送来

自己写的playbook批量修改密码并推送公钥,实现免密登录!

自己写的playbook批量修改密码并推送公钥,实现免密登录!由于工作需要需要写这个东西,就把这个记录下来了.第一步:使用 ssh-keygen -t rsa生成密钥对.第二步:添加ansible hosts,我这个是test代替.第三步:确定服务器上sshd_config文件里的root登录权限是否开启.实例代码: hosts: testsudo: yestasks: name: 修改sshd_config文件shell: sed -i 's/PermitRootLogin no/Permit

iOS开发 - ANPs推送通知 标签: 推送通知ANPs远程推送、本地推送

iOS开发 - ANPs推送通知 标签: 推送通知ANPs远程推送本地推送 2015-05-03 14:12 3510人阅读 评论(0) 收藏 举报 本文章已收录于:  iOS知识库  分类: [IOS -事件响应者链](3)  版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 推送通知 注意:这里说的推送通知跟NSNotification有所区别 NSNotification是抽象的,不可见的 推送通知是可见的(能用肉眼看到) iOS中提供了2种推送通知 本地推送通知(L

将本地目录推送到Git远程仓库

1. 先在github或者码云上创建一个公开或私有项目:例如demo 2. 在本地也就是要推送的项目目录中使用 git init 进行初始化,把其变成git可以管理的仓库 git init 3. 若要忽略本地的文件或文件夹不被提交到git远程仓库 ,则需要在项目根目录下创建 .gitignore 文件 touch .gitignore 4. 打开文件,编辑内容,写如要忽略的文件,例如: .idea # python中的一个隐藏文件,自动生成的,不需要提交 *.py[cod] #一些没有用的附带文

百度链接提交-js代码推送批量推送版

1原百度JS链接推送代码 首先我们来看一下原百度JS链接推送代码是这*样的 用百度自己的话讲:JS链接推送代码以网页为最小对象,服务于全平台多终端,PC站和移动站均可使用.安装代码的页面在任意平台(浏览器.微信.微博)被加载时,页面链接会被第一时间推送给百度,从而提高站点新内容的发现速度. 当有用户访问你的网页时,这个脚本就会从百度下载一个1x1的gif,同时记录页面此时此刻的URL地址. 2自动推送脚本的分析 通过这段脚本我们可以看出: 1.它先是判断了目前的协议类型是https还是其他类型(