1.使用ssh-key生成公钥和私钥
只在一台机器上生成秘钥:
ssh-keygen -t rsa -b 2048 -P '' -f /home/log4x/.ssh/id_rsa
在所有主机上生成秘钥:
ansible all -m shell -a " ssh-keygen -t rsa -b 2048 -P '' -f /home/log4x/.ssh/id_rsa"
2./etc/ansible/hosts文件内容

3. 执行命令:

4.编写playbook剧本
# cat ssh.yml
---
- hosts: all
gather_facts: no
tasks:
- name: install ssh key
authorized_key: user=log4x
key="{
{ lookup('file','/home/log4x/.ssh/id_rsa.pub')}}"
state=present
5.执行剧本
ansible-playbook -i /etc/ansible/hosts ssh.yml
PLAY [all] *******************************************************************************************************************************************************
TASK [install ssh key] *******************************************************************************************************************************************
changed: [log
Ansible自动化配置:SSH密钥分发与免密登录

本文介绍了如何使用Ansible自动化工具生成并分发SSH密钥,以实现多台主机间的免密登录。首先在本地生成RSA密钥对,然后通过Ansible playbook将公钥安装到所有目标主机的authorized_keys文件中,最终实现集群内所有主机间无须手动确认的免密互访。
最低0.47元/天 解锁文章
965

被折叠的 条评论
为什么被折叠?



