Ansible 二(新手上路)
2017-08-09 16:17
316 查看
Ansible 二(新手上路)
1.远程连接概述
远程控制:
ansible1.2版本及以前的版本,默认使用python写的paramiko模块进行控制linux主机。
ansible1.3版本以后,默认使用openssh进行控制linux主机,并开启了ControlPersist来优化连接速度和认证(centos6.0/RHEL6以后全已经支持)。
远程传输:
默认使用SFTP传输;如果不支持可以修改配置文件为SCP模式传输。
ansible配置文件详解:http://www.ansible.com.cn/docs/intro_configuration.html
远程密钥
ansible会默认假定使用ssh key (推荐使用);
也可以通过密码:--ask-pass 或--ask-sudo-pass 使用密码;
2.第一条命令
准备环境:
1.ansible管理机配置
配置linux客户机ip或者域名:
ssh-keygen #创建密码
回车 #提示回车最后会生成
输入加密的密码(这里可以不输入密码,直接回车;)
再次输入加密的密码
生成的私钥和公钥放在/root/.ssh/目录下
3.设定远程使用ssh key方式
ssh-agent bash
ssh-add ~/.ssh/id_rsa
4.将公钥拷贝到linux客户机
ssh-copy-id -i ~/.ssh/id_rsa.pub -p 22 root@1.1.1.2
ssh-copy-id -i ~/.ssh/id_rsa.pub -p 22 root@1.1.1.3
5.运行第一个测试命令,ping所以的节点
以test01身份ping所以主机
6.对所以节点运行一个命令
报错信息:
报错1:
"msg": "Failed to connect to the host via ssh: ssh: connect to host 1.1.1.3 port 22: Connection refused\r\n
原因:
1、22端口没有打开,开启ssh服务,防火墙允许端口;
2、默认22端口已经修改成别的端口号;
解决办法:
修改remote_port端口号为远程端口号,所以的linux客户机远程端口尽量一致,简化管理。
例如:远程端口号为10000,修改如下:
remote_port = 10000
然后在运行命令。
报错2:
The authenticity of host '1.1.1.2 (1.1.1.2)' can't be established.
ECDSA key fingerprint is 05:51:e5:c4:d4:66:9b:af:5b:c9:ba:e9:e6:a4:2b:fe.
Are you sure you want to continue connecting (yes/no)?
原因:
在首次连接或者重装系统之后会出现检查keys 的提示
解决办法:
看Ansible 三(公钥认证)
1.远程连接概述
远程控制:
ansible1.2版本及以前的版本,默认使用python写的paramiko模块进行控制linux主机。
ansible1.3版本以后,默认使用openssh进行控制linux主机,并开启了ControlPersist来优化连接速度和认证(centos6.0/RHEL6以后全已经支持)。
远程传输:
默认使用SFTP传输;如果不支持可以修改配置文件为SCP模式传输。
ansible配置文件详解:http://www.ansible.com.cn/docs/intro_configuration.html
远程密钥
ansible会默认假定使用ssh key (推荐使用);
也可以通过密码:--ask-pass 或--ask-sudo-pass 使用密码;
2.第一条命令
准备环境:
1.ansible管理机配置
配置linux客户机ip或者域名:
more /etc/ansible/hosts 1.1.1.2 1.1.1.32.ansible管理机生成ssh公钥和私钥
ssh-keygen #创建密码
回车 #提示回车最后会生成
输入加密的密码(这里可以不输入密码,直接回车;)
再次输入加密的密码
生成的私钥和公钥放在/root/.ssh/目录下
3.设定远程使用ssh key方式
ssh-agent bash
ssh-add ~/.ssh/id_rsa
4.将公钥拷贝到linux客户机
ssh-copy-id -i ~/.ssh/id_rsa.pub -p 22 root@1.1.1.2
ssh-copy-id -i ~/.ssh/id_rsa.pub -p 22 root@1.1.1.3
5.运行第一个测试命令,ping所以的节点
ansible all -m ping 返回如下: 1.1.1.2 | SUCCESS => { "changed": false, "ping": "pong" } 1.1.1.3 | SUCCESS => { "changed": false, "ping": "pong" }
以test01身份ping所以主机
6.对所以节点运行一个命令
ansible all -a "/bin/echo hello" 返回如下: 1.1.1.2 | SUCCESS | rc=0 >> hello 1.1.1.3 | SUCCESS | rc=0 >> hello
报错信息:
报错1:
"msg": "Failed to connect to the host via ssh: ssh: connect to host 1.1.1.3 port 22: Connection refused\r\n
原因:
1、22端口没有打开,开启ssh服务,防火墙允许端口;
2、默认22端口已经修改成别的端口号;
解决办法:
修改remote_port端口号为远程端口号,所以的linux客户机远程端口尽量一致,简化管理。
例如:远程端口号为10000,修改如下:
remote_port = 10000
然后在运行命令。
报错2:
The authenticity of host '1.1.1.2 (1.1.1.2)' can't be established.
ECDSA key fingerprint is 05:51:e5:c4:d4:66:9b:af:5b:c9:ba:e9:e6:a4:2b:fe.
Are you sure you want to continue connecting (yes/no)?
原因:
在首次连接或者重装系统之后会出现检查keys 的提示
解决办法:
看Ansible 三(公钥认证)
相关文章推荐
- ansible 新手上路
- 软件项目经理新手上路(1) - 序
- 软件项目经理新手上路2 - 力量从哪里来? 推荐
- 新手上路学习配置C,C++,GTK等开发环境
- 软件项目经理新手上路(2) - 力量从哪里来?
- 新手上路——001
- 新手上路之win10+Ubuntu磕磕绊绊有惊无险的安装
- 新手上路,开始这种方式的学习,加油
- 新手上路了~~麻烦顶一下嘛。。。
- 软件项目经理新手上路(15) - 动起来再调整 - 向项目经理推荐敏捷
- WT库学习2篇 新手上路(简单学习以及部署到IIS上)
- 新手上路
- 新手上路必修之道
- 【大数据新手上路】“零基础”系列课程--如何通过大数据开发套件Data IDE玩转大数据
- DRBD新手上路
- Linux下sniffer的编写(新手上路)
- PHP新手上路(六)
- 新手上路————菜鸟程序错误总结
- PHP新手上路(十四)
- PHP新手上路(二)