您的位置:首页 > 其它

ansible不配ssh连接,用户密码登录

2018-02-23 00:00 267 查看
ansible 不配ssh免密链接,直接用ssh用户密码连接,要先装sshpass。

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

运行下列命令安装:

tar -zxvf sshpass-1.05.tar.gz
cd sshpass-1.05
./configure
make && make install

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

# sshpass
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

/etc/ansible/hosts文件中添加用户密码,认证ssh连接

[test]
127.0.0.1 ansible_ssh_user=root ansible_ssh_port=22 ansible_ssh_pass=123456
192.168.1.103 ansible_ssh_user=root ansible_ssh_port=22 ansible_ssh_pass=123456

错误汇总:

[root@localhost ~]# ansible test -m ping
127.0.0.1 | FAILED! => {
"msg": "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."
}
192.168.1.103 | FAILED! => {
"msg": "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."
}

ssh第一次连接的时候一般会提示输入yes 进行确认为将key字符串加入到 ~/.ssh/known_hosts 文件中。而本机的~/.ssh/known_hosts文件中并有fingerprint key串

解决方法:在ansible.cfg文件中更改下面的参数:

#host_key_checking = False 将#号去掉即可

参考网址:

https://www.cnblogs.com/iois/p/6230800.html

https://www.cnblogs.com/ylqh/p/5902259.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐