设置 PermitRootLogin no 后重新运行 chef

设置 PermitRootLogin no 后重新运行 chef

我正在使用 knife-solo 在 Linode 配置我的第一台服务器。一切正常,但我刚刚添加了一个步骤,通过该步骤我禁用了 root 登录以获得额外的安全性。我的理解是,每当我向配置中添加新项目时,我都应该重新运行 chef 来应用它们,而不是手动执行,但一旦我锁定,这是不可能的。

以下哪种方法(或替代方法)更好:

  1. 我可以在脚本开始时解锁根访问权限,并在结束时再次锁定它。
  2. 我可以将其锁定为第一步,并以另一个用户的身份安装包括服务器(在我的情况下是 nginx)在内的所有软件包。

答案1

PermitRootLogin是一个 SSH 设置,如果系统上有其他用户,则没关系,可以运行该sudo chef-apply设置来完成更改。

这样就无需在每次运行时修改 SSH 设置的状态。

Chef 客户端方法假定它可以充当 root 用户,并且不需要sudo在每个命令(又名包安装)之前运行。

答案2

选项 2 是最佳选择。我不是 Chef 专家,但它肯定能够使用 运行特权命令sudo

答案3

您可以考虑的另一种方法是使用公钥/私钥对进行 SSH 登录,而不是使用密码。

一旦建立,您就可以PermitRootLogin without-password在 SSH 服务器配置中使用它。这样,您的 root 帐户就不会受到密码暴力破解的威胁,但您仍然可以将其与 RSA 或 ECDSA 密钥对一起使用。

相关内容