ansible 角色登录

用ansible 来管理远程的主机,最大的好处是方便,ansible不用在远程的主机上安装ansible的客户端,ansible只要能经过ssh链接上远程主机就bash

能对它进行管理。也就是说ansible是经过ssh来链接远程主机的,因而就引出了链接到远程主机的两种认证方式,一种是用户名+密码,另外一种是ssh

~.ssh/id_rsa ~.ssh/id_rsa.pub 经过秘钥对的方式来认证;天然ansible也是逃不出已经有的条条框框。ide

 

1、ansible经过用户名+密码方式认证的相关变量:this

ansible_host=远程主机ip
ansible_port=远程主机的ssh端口
ansible_user=远程主机中的一个用户名
ansible_ssh_pass=远程主机用户所对应的密码

 在这里须要在主机上安装sshpass:spa

sshpass下载地址:http://sourceforge.net/projects/sshpass/.net

运行下列命令安装code

tar -zxvf sshpass-1.05.tar.gz
cd sshpass-1.05                
#./configure  
./configure --prefix=/opt/sshpass  
#指定安装目录 --prefix=/opt/sshpass(也可不指定)         
make && make install

  安装完成后输入sshpass出现以下提示即安装成功:orm

# sshpass -h
Usage: sshpass [-f|-d|-p|-e] [-hV] command parameters
   -f filename   Take password to use from file
   -d number     Use number as file descriptor for getting password
   -p password   Provide password as argument (security unwise)
   -e            Password is passed as env-var "SSHPASS"
   With no parameters - password will be taken from stdin
   -h            Show help (this screen)
   -V            Print version information
At most one of -f, -d, -p or -e should be used

 

2、ansible经过秘钥认证相关的变量blog

ansible_host=远程主机ip
ansible_port=远程主机的ssh端口
ansible_ssh_private_key_file=本地用户的ssh密钥文件(私钥)

 注意:ip

[root@ansible_master ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub 10.1.6.72     -bash: ssh-copy-id: command not found 报错了 解决方法:     yum -y install openssh-clients

3、有时候远程用户没有"权限"完成特定的操做,它要sudo一下才行,ansible中就要设置一下了:

ansible_become_user=root 
ansible_become=true

ansible_become_user=root 说的是到时候su到root身份执行操做,注意单单只是设置ansible_become_user是不会su的,还有一个开关控制着

是不启动su,这个开关就是ansible_become! 

相关文章
相关标签/搜索