IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    ansible批量推送ssh key

    bear发表于 2017-04-28 10:23:16
    love 0

    ansible批量推送ssh key的方法,这里记录一下。

    假设有以下主机列表

    $ cat /opt/list
    [new]
    172.20.121.109
    172.20.114.69
    172.20.114.57
    172.20.114.58
    172.20.114.59
    

    1,使用ansible命令来推送Key
    命令比较简单,一行即可搞定

    $ ansible -i /opt/list new -m authorized_key -a "user=admin key='{{ lookup('file','/home/admin/.ssh/id_rsa.pub') }}'" -k
    

    这里解释一下命令:
    -i表示指定IP列表文件位置,后面的new表示文件里的分组
    -k表示询问目标IP的密码

    2,使用playbook来推送key

    $ vim key.ymal 
    - hosts: new
      user: admin
      tasks:
       - name: Set authorized key took from file
         authorized_key: user=admin state=present key="{{ lookup('file', '/home/admin/.ssh/id_rsa.pub') }}"
    
    $ ansible-playbook -i /opt/list key.ymal -k
    

    参考文档:
    Centos7 Ansible 配置SSH公钥认证



沪ICP备19023445号-2号
友情链接