微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

首次登录时可更改处理密码

如何解决首次登录时可更改处理密码

我正在创建一个登录虚拟机并执行初始配置的剧本。用于创建VM的映像具有用户名,该用户名在初次登录时需要更改密码。我正在寻找一种方法来处理Ansible中的问题?

解决方法

我使用ansible模块“期望” https://docs.ansible.com/ansible/latest/collections/ansible/builtin/expect_module.html

找到了解决问题的方法
- name: Change password on initial login
  delegate_to: 127.0.0.1
  become: no
  expect:
    command: ssh {{ ansible_ssh_common_args }} {{ user_expert }}@{{ inventory_hostname }}
    timeout: 20
    responses:
      Password: "{{ user_expert_password }}"
      UNIX password: "{{ user_expert_password }}"
      New password: "{{ user_expert_password_new }}"
      new password:  "{{ user_expert_password_new }}"
      "\\~\\]\\$": exit
  register: status
,

您正在寻找user模块,尤其是password选项。

请记住,password选项需要实际密码的哈希值。检查here如何获得它。 (它需要进行散列处理,否则您的剧本或清单中将有明文密码,这将带来安全风险。)

示例:

- name: ensure password of default user is changed
  user:
    name: yourdefaultuser
    password: '$6$QkjC8ur2WfMfYGA$ZNUxTGoe5./F0b4GJGrcEA.ff9An473wmPsmU4xv00nSrN4D/Nxk8aKro/E/LlQVkUJLbLL6qk2/Lxw5Oxs2m.'

请注意,密码哈希是使用mkpasswd --method=sha-512为密码somerandompassword生成的。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。