Chef infra 我们可以用另一台chef server.pem替换一台chef server.pem吗?

Chef infra 我们可以用另一台chef server.pem替换一台chef server.pem吗?,chef-infra,Chef Infra,我的一个厨师服务器坏了。 我有它的.pem文件,并且已经用相同的IP和主机名设置了一个新的chef服务器 我尝试在/etc/chef服务器下替换相同的.pem文件,但不起作用 为了让另一个chef服务器使用来自不同chef服务器的.pem文件,我是否需要更改任何部分?admin.pem和chef validator.pem 是的,您必须更新这两个客户端。使用admin.pem访问新的Chef服务器并编辑Chef validator和admin客户端(Know client edit admin)

我的一个厨师服务器坏了。 我有它的.pem文件,并且已经用相同的IP和主机名设置了一个新的chef服务器

我尝试在/etc/chef服务器下替换相同的.pem文件,但不起作用


为了让另一个chef服务器使用来自不同chef服务器的.pem文件,我是否需要更改任何部分?

admin.pem和
chef validator.pem


是的,您必须更新这两个客户端。使用
admin.pem
访问新的Chef服务器并编辑
Chef validator
admin
客户端(
Know client edit admin
),然后设置
公钥
条目,同时用
\n
替换换行符。

admin.pem
Chef validator.pem


是的,您必须更新这两个客户端。使用
admin.pem
访问新的Chef服务器并编辑
Chef验证器
admin
客户端(
knife client edit admin
,然后设置
公钥
条目,同时用
\n
替换换行符).

/etc/chef server/
下的这些密钥文件是两个chef客户端和一个chef用户的只读私钥文件:

  • chef webui.pem
    -
    chef webui
  • chef validator.pem
    -
    chef validator
  • admin.pem
    -管理员用户
  • 您只需要更新2)和3),因为1)永远不会从chef服务器中共享

    除了@StephenKing给出的第一个答案外,我建议使用另一个管理员用户来更新2)和3),因为使用管理员用户本身更新管理员的公钥是有风险的(一个错误将导致您失去管理)。因此,这些步骤是:

  • 安装新的chef服务器
  • 运行命令
    knife configure-i
    ,创建另一个管理员用户
  • 通过
    openssl rsa-in-chef-validator.pem-pubout从旧chef服务器的现有密钥文件中提取公钥
  • 用vi中的
    刀客户端编辑chef验证器
    替换客户端生成的公钥
    chef验证器
  • 通过命令对管理员用户重复步骤3)和4),而无需担心任何错误,因为您可以随时重做

  • /etc/chef server/
    下的这些密钥文件是两个chef客户端和一个chef用户的只读私钥文件:

  • chef webui.pem
    -
    chef webui
  • chef validator.pem
    -
    chef validator
  • admin.pem
    -管理员用户
  • 您只需要更新2)和3),因为1)永远不会从chef服务器中共享

    除了@StephenKing给出的第一个答案外,我建议使用另一个管理员用户来更新2)和3),因为使用管理员用户本身更新管理员的公钥是有风险的(一个错误将导致您失去管理)。因此,这些步骤是:

  • 安装新的chef服务器
  • 运行命令
    knife configure-i
    ,创建另一个管理员用户
  • 通过
    openssl rsa-in-chef-validator.pem-pubout从旧chef服务器的现有密钥文件中提取公钥
  • 用vi中的
    刀客户端编辑chef验证器
    替换客户端生成的公钥
    chef验证器
  • 通过命令对管理员用户重复步骤3)和4),而无需担心任何错误,因为您可以随时重做

  • 我的建议是只需下载新chef服务器的密钥并丢弃旧密钥:

    ssh myusername@chefserver sudo cat /etc/chef-server/admin.pem          > ~/.chef/admin.pem
    ssh myusername@chefserver sudo cat /etc/chef-server/chef-validator.pem > ~/.chef/chef-validator.pem
    knife configure --server-url https://chefserver \
                    --user admin \
                    --key ~/.chef/admin.pem \
                    --validation-client-name chef-validator \
                    --validation-key ~/.chef/chef-validator.pem
    
    将密钥放入“/etc/chef server”目录将不起作用。和您一样,我也发现不可能将现有私钥上载到新的chef服务器

    如果您查看与密钥维护相关的各种API:

    您会注意到它们都返回一个私钥。当需要创建或重新生成用户时,这反映了UI中的行为。私钥将显示一条警告,表示chef不会保存它


    因此,Chef生成密钥对并返回和丢弃私有部分。

    我的建议是只需下载新Chef服务器的密钥并丢弃旧密钥:

    ssh myusername@chefserver sudo cat /etc/chef-server/admin.pem          > ~/.chef/admin.pem
    ssh myusername@chefserver sudo cat /etc/chef-server/chef-validator.pem > ~/.chef/chef-validator.pem
    knife configure --server-url https://chefserver \
                    --user admin \
                    --key ~/.chef/admin.pem \
                    --validation-client-name chef-validator \
                    --validation-key ~/.chef/chef-validator.pem
    
    将密钥放入“/etc/chef server”目录将不起作用。和您一样,我也发现不可能将现有私钥上载到新的chef服务器

    如果您查看与密钥维护相关的各种API:

    您会注意到它们都返回一个私钥。当需要创建或重新生成用户时,这反映了UI中的行为。私钥将显示一条警告,表示chef不会保存它


    因此,Chef生成密钥对并返回和丢弃私有部分。

    谢谢,这是我真正需要的,也是非常清晰的步骤!(尽管你们的回答非常相似)谢谢,这是我真正需要的,也是非常清晰的一步!(不过,你们的回答非常相似)