IT序号网

ssh之Vagrant,启用无 key SSH 登录

soundcode 2026年07月31日 编程语言 130 0

我有一个正在使用 ansible 配置的 Vagrant 虚拟机。在我的配置脚本中,我正在创建一个用户并设置他们的密码,但我怀疑密码正在以某种方式被散列成我无法使用的东西:

    - 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. 

有什么方法可以在我的 vagrant box 上设置一个用户,可以简单地使用用户名和密码登录?在这种情况下 worker/ worker .

请您参考如下方法:

你写的是password is hashed .

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

简而言之,它是这样完成的:

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

然后使用你的剧本中的值(value)。如果您希望它完全自动化,您可以执行以下操作:
- 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 

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


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!