自己写的playbook批量修改密码并推送公钥,实现免密登录!
由于工作需要需要写这个东西,就把这个记录下来了。
第一步:使用 ssh-keygen -t rsa生成密钥对。
第二步:添加ansible hosts,我这个是test代替。
第三步:确定服务器上sshd_config文件里的root登录权限是否开启。
实例代码:

  • hosts: test
    sudo: yes
    tasks:
    • name: 修改sshd_config文件
      shell: sed -i 's/PermitRootLogin no/PermitRootLogin yes/g' /etc/ssh/sshd_config
      notify: restart sshd
    • name: 修改root密码
      shell: echo '密码' | passwd --stdin root
    • name: 分发公钥
      authorized_key:
      user: root
      key: "{{ lookup('file', '/root/.ssh/id_rsa.pub') }}"
      state: present
      exclusive: no
      handlers:
    • name: restart sshd
      shell: service sshd restart