Vagrant,启用无密钥SSH登录

时间:2014-06-04 14:45:08

标签: ssh key vagrant ansible

我有一个使用ansible配置的流浪汉VM。在我的配置脚本中,我正在创建一个用户并设置他们的密码,但我怀疑密码是以某种方式被删除到我无法使用的东西:

    - name: Create SSH user for workers
      action: user name=worker password=worker shell=/bin/bash groups=vagrant

当我转到ssh worker@myvmhost并输入密码worker时,我会收到消息:

Permission denied, please try again.

有什么办法可以在我的流浪盒上设置用户,只需使用用户名和密码登录即可?在这种情况下worker / worker

1 个答案:

答案 0 :(得分:1)

你写的是password is hashed

有一个指南here,用于为用户设置密码。

简而言之就是这样:

pip install passlib
python -c "from passlib.hash import sha512_crypt; print sha512_crypt.encrypt('worker')"

然后使用您的剧本中的值。如果您希望它完全自动化,您可以执行以下操作:

- name: ensure passlib python lib is installed
  pip: name=passlib
  delegate_to: 127.0.0.1

- name: hash password
  shell: python -c "from passlib.hash import sha512_crypt; print sha512_crypt.encrypt('worker')"
  register: hashed_pw
  delegate_to: 127.0.0.1

- name: create SSH user for workers
  user: name=worker
        password={{ hashed_pw.stdout }}
        shell=/bin/bash
        groups=vagrant

请注意,使用此方法时,密码将在主机而不是远程上进行哈希处理。