【问题标题】:Chef server password reset厨师服务器密码重置
【发布时间】:2015-05-14 06:06:24
【问题描述】:

我在我的 linux 机器上安装并运行了我自己的 Chef 服务器。当我访问我的厨师服务器 UI 时,它会询问我的用户名和密码。不幸的是,我忘记了密码。我知道我的用户名是admin

如何找回我的密码?在 UI 中也没有忘记密码选项。我更改了默认密码p@ssw0rd1。但是我忘记了我改变了什么。

该密码是否存储在我的厨师服务器的任何位置,或者无论如何都要重置我的密码?谢谢。

【问题讨论】:

    标签: chef-infra


    【解决方案1】:

    我想你现在唯一能做的就是登录数据库本身并在那里更改密码。

    在 Chef 12.2 或更高版本中数据库结构似乎发生了变化,因此根据您的版本,您应该使用以下命令

    (在 Chef 12.2 之前)

    $ sudo -u opscode-pgsql  /opt/chef-server/embedded/bin/psql opscode_chef
    psql# update osc_users set hashed_password = '$2a$12$y31Wno2MKiGXS3FSgVg5UunKG48gJz0pRV//RMy1osDxVbrb0On4W' , salt ='$2a$12$y31Wno2MKiGXS3FSgVg5Uu' where username ='admin';
    

    (厨师12.2及以上)

    $ sudo -u opscode-pgsql  /opt/opscode/embedded/bin/psql opscode_chef
    psql# update users set hashed_password = '$2a$12$y31Wno2MKiGXS3FSgVg5UunKG48gJz0pRV//RMy1osDxVbrb0On4W' , salt ='$2a$12$y31Wno2MKiGXS3FSgVg5Uu' where username ='admin';
    

    管理员的新密码是“密码”。通过Web界面登录并更改它。

    【讨论】:

      【解决方案2】:

      如果你有服务器的命令行访问权限,那么你可以使用 chef-ctl

      sudo chef-server-ctl 密码用户名

      请看这里:https://docs.chef.io/ctl_chef_server.html#password

      【讨论】:

      • 这行得通,谢谢。但我确实必须运行sudo chef-manage-ctl restart
      • 我能够做到这一点而无需重新启动
      【解决方案3】:

      sudo chef-server-ctl 密码用户名

      重要的是重置 webui chef-manage-ctl restart

      【讨论】: