ansible-playbook 打通ssh无秘钥
建议参考:
http://www.cnblogs.com/jackchen001/p/6514018.html
这个代码清晰,效果佳!
参考链接:
http://www.cnblogs.com/caoguo/p/5351127.html
备注下,其实 不需要执行 rsync_key2.yml
执行ansible前会遇到 ssh首次连接时,提示 是否continue,需要输入yes,这个问题,得需要个解决办法
1. 首先确认要远程打通ssh无秘钥的用户,是否有生成相应的key
比如 test用户,ls /home/test/.ssh/
是否有这些文件
authorized_keys id_rsa id_rsa.pub known_hosts
如果没有的话,执行: ssh-keygen,然后一路回车即可(前提是在 test用户下操作)
2. 准备 ansible执行所需要的 hosts文件,文件内容主要是 [test] 组标记, ips 要远程操作的服务器ip 每个ip是一行,ip后面跟上 指定的 ssh信息:ansible_ssh_user=test ansible_ssh_pass=test ansible_ssh_port=22
test 文件内容如下:
[test]
0.0.0.1 ansible_ssh_user=test ansible_ssh_pass=test ansible_ssh_port=22
0.0.0.2 ansible_ssh_user=test ansible_ssh_pass=test ansible_ssh_port=22
3. 准备playbook文件 ,yml结尾
3.1. 拷贝ssh :
rsync_key.yml
文件内容如下:
- hosts: test
remote_user: test
tasks:
- name: copy ssh key
authorized_key:
user: test
key: "{{ lookup('file', '/home/test/.ssh/id_rsa.pub') }}"
3.2. 传送key到远程服务器:
rsync_key2.yml
文件内容如下:
- hosts: test
remote_user: test
tasks:
- name: mkdir /home/test/.ssh
command: mdkir -p /home/test/.ssh
- name: copy ssh key
copy: src=/home/test/.ssh/id_rsa.pub dest=/home/test/.ssh owner=test group=test mode=0644
3.3. 执行 playbook
-i test ,是指 指定 ansible playbook 需要执行远程服务器, test 相对于 默认的hosts文件
ansible-playbook -i test rsync_key.yml
ansible-playbook -i test rsync_key2.yml (不需要执行了,第一个足矣)
添加 hadoop用户
useradd.yml
---
- hosts: hadoop_devops_hosts
remote_user: test
sudo: yes
vars:
user: hadoop
tasks:
- name: add user
action: user name={{ user }} home=/home/{{ user }}
tags:
- user
执行完后,查看下
ansible -i ./hosts hadoop_hosts -m shell -a "id hadoop"
接下来准备 远程生成hadoop key
并在 各服务器上,让 hadoop来去自如
ansible-playbook 打通ssh无秘钥的更多相关文章
- ssh无秘钥登录
服务器1:172.16.20.136 服务器2:172.16.20.134 在服务器2上输入:ssh-keygen -t rsa (一路回车) scp /root/.ssh/id_ ...
- 配置SSH无秘钥登录
[hadoop@hadoop01 ~]$ cd .ssh [hadoop@hadoop01 .ssh]$ ls authorized_keys id_rsa id_rsa.pub known_host ...
- ssh 无秘钥登录
三台centos 一台服务器192.168.2.152 一台客户端192.168.2.142 一台客户端192.168.2.151 (1)产生无密钥 [root@localhost ~]# ssh- ...
- Hadoop.2.x_无秘钥设置
1.在实际生产环境中为Hadoop配置无秘钥登录非常有必要 # 在没有配置时: [liuwl@linux-66-64 hadoop-2.5.0]$ jps 26163 Jps [liuwl@linux ...
- ssh分发秘钥时出现错误“Permission denied (publickey,gssapi-keyex,gssapi-with-mic)”
因为公司的服务器连接是通过xshell公钥和密码连接的,今天在ssh分发秘钥的时候出现了,下面的错误: [root@iZ2ze97cumk8opqm28h8Z .ssh]# ssh-copy-id - ...
- ansible主机组配置及秘钥分发
ansible主机组配置及秘钥分发 ansible主机组文件位于/etc/ansible/hosts文件中 1 hosts主机经常使用到的变量为: 2 ansible_ssh_host #用于指定被管 ...
- Linux SSH 免秘钥登录
SSH 免秘钥登录 ssh:是一种安全加密协议 ssh username@hostname ssh gongziyuan.com:以当前用户登录该机器(如果不是当前用户,需要这么干:ssh ...
- linux下ssh免秘钥登录
1.检查防火墙是否关闭 (1)切换到root用户 (2)查看防火墙状态 service iptables status 这是没有关闭 (3)设置关闭 service iptables stop 2.检 ...
- ssh 多秘钥管理和坑
概述 很久之前就想研究一下 ssh 的多秘钥管理,今天正好有时间就研究了一下,挺简单的,记录下来,供以后开发时参考,相信对其他人也有用. 参考资料: Git - 生成 SSH公钥 , Linux 下多 ...
随机推荐
- OpenLDAP给我的启发
首先这篇文章没什么技术性,但亮点是:我会给广大运维同行提一点建议,这个一点仅仅是一点,而不是很多点. 年前计划深度掌握一些诸如:Jenkins.Gitlab.ELK.k8s等的软件,但学着学着总是想学 ...
- Nginx日志参数、location匹配规则、设置密码
1.三个参数 a)$http_referer:记录此次请求是从哪个链接访问过来的: 是直接访问,还是从其他网站跳转过来的. 例如:访问:http://www.etiantian.com/,其页面首页是 ...
- spring security 单一账户多地方登陆提醒, ajax 拦截器 Interceptor
spring-security.xml部分代码: <http auto-config="false" > <access-denied-handler ref=& ...
- erlang debugger
http://erlang.org/doc/apps/debugger/debugger_chapter.html
- OracleCPU使用情况查询
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 ...
- 我们为什么要把Dagger2,MVP以及Rxjava引入项目中?
1Why? 我们为什么要把Dagger2,MVP以及Rxjava引入项目中? 毫无疑问在Android开发圈中这三个技术是经常被提及的,如此多的文章和开源项目在介绍他们,使用他们,开发者也或多或少的被 ...
- phonegap工程搭建基础(一)
官网:http://cordova.apache.org 一.环境配置 1. 安装Cordova on OS X and Linux: $ sudo npm install -g cord ...
- npm 安装包无法继续下载? 卡住
一般是由于package.json配置的项目名不对
- 每天一个linux命令(23):Linux 目录结构(转)
对于每一个Linux学习者来说,了解Linux文件系统的目录结构,是学好Linux的至关重要的一步.,深入了解linux文件目录结构的标准和每个目录的详细功能,对于我们用好linux系统只管重要,下面 ...
- VS2010配置QT5.5.0开发环境
一.官网下载QT和qtvsaddin插件 网址:http://www.qt.io/download-open-source/ 1. 2. 3. 得到下载的安装包,点击安装就能够了 watermark/ ...