配置免密登录:
1.hosts文件中定义(不安全)
[tyx]
192.168.159.130 ansible_user=root ansible_ssh_pass=1111
192.168.159.131 ansible_user=root ansible_ssh_pass=1111
之后执行ansible命令不需加参数:
ansible tyx -m command -a 'hostname'
2.ssh密钥方式批量管理:
在主机器上创建ssh密钥对:
ssh-keygen -f ~/.ssh/id_rsa -P '' >/dev/null 2>&1
检查公私钥文件
cd
~/.ssh/
ls
编写公钥分发脚本:
mkdir /mysh
cd /mysh
touch ssh_key_send.sh
vim ssh_key_send.sh
#!/bin/bash
rm -rf ~/.ssh/id_rsa*
ssh-keygen -f ~/.ssh/id_rsa -P '' > /dev/null 2>&1
SSH_Pass=1111
Key_Path=~/.ssh/id_rsa.pub
for ip in 130 131
do
sshpass -p$SSH_Pass ssh-copy-id -i $Key_Path "-o StrictHostKeyChecking=no" 192.168.159.$ip
done
#非交互式分发公钥命令需要用sshpass指定ssh密码,通过-o stinghostkeychecking=no 跳过ssh链接确认信息
分发公钥:
sh ssh_key_send.sh免密链接:
ssh -o ' StrictHostKeyChecking=no' '192.168.159.131'
查看链接信息:
vim ~/.ssh/known_hosts