ansible 建立ssh信任并分发到各个机器

本文详细介绍了如何通过Ansible生成SSH密钥对,分发公钥至远程机器,并在Ansibleplaybook中实现自动化。同时强调了安全注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

要使用Ansible建立SSH信任并将公钥分发到各个机器,你可以按照以下步骤进行操作:


# 一直敲回车
ssh-keygen -t rsa

生成SSH密钥对:首先,在管理节点上生成SSH密钥对。可以使用ssh-keygen命令来生成密钥对。例如,运行ssh-keygen -t rsa命令,并按照提示进行操作。这将生成私钥(id_rsa)和公钥(id_rsa.pub)文件。

将公钥分发到各个机器:接下来,你需要将公钥分发到所有要管理的远程机器上。可以使用ssh-copy-id命令来自动完成这个过程。对于每个远程机器,运行以下命令:

ssh-copy-id <用户名>@<远程机器IP地址>

这将自动将公钥复制到远程机器的~/.ssh/authorized_keys文件中,并设置适当的权限。

如果你使用Ansible来管理多个机器,你可以在Ansible的清单文件(通常是/etc/ansible/hosts)中定义所有要管理的远程机器。然后,你可以使用Ansible的authorized_key模块来分发公钥。以下是一个示例的Ansible剧本(playbook),演示如何分发公钥到所有远程机器:

---  
- name: 分发SSH公钥到各个机器  
  hosts: all  
  become: yes  
  tasks:  
    - name: 将SSH公钥添加到远程机器的授权文件中  
      authorized_key:  
        user: <远程机器上的用户名>  
        state: present  
        key: "{{ lookup('file', '/path/to/local/id_rsa.pub') }}"

在上面的剧本中,你需要将<远程机器上的用户名>替换为实际的用户名,并将/path/to/local/id_rsa.pub替换为本地公钥文件的路径。

运行该剧本后,Ansible将连接到每个远程机器,并将公钥添加到相应用户的~/.ssh/authorized_keys文件中。这样,你就建立了SSH信任,并可以使用SSH密钥对进行无密码登录到各个机器了。

请注意,上述步骤假设你已经配置了Ansible,并且具有足够的权限来执行这些操作。确保在执行任何操作之前,你已经了解了潜在的安全风险,并采取了适当的安全措施来保护你的系统。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风水道人

写作不易且行且珍惜

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值