Dionysis Asked: 2016-10-16 12:24:11 +0800 CST2016-10-16 12:24:11 +0800 CST 2016-10-16 12:24:11 +0800 CST 设置 PermitRootLogin no 后重新运行厨师 772 我正在使用刀独奏在 Linode 配置我的第一台服务器。一切正常,但我刚刚添加了一个步骤,通过该步骤禁用 root 登录以提高安全性。我的理解是,每当我向我的配置添加新项目时,我应该重新运行 chef 以应用它们,而不是手动执行,但是一旦我锁定这是不可能的。 这些(或替代)方法中的哪一个会更好: 我可以在脚本开始时解锁 root 访问权限并在最后再次锁定它。 我可以将其锁定为第一步,并以另一个用户身份安装所有软件包,包括服务器(在我的情况下为 nginx)。 chef chef-solo 3 个回答 Voted EEAA 2016-10-16T12:37:34+08:002016-10-16T12:37:34+08:00 选项 2 是最佳选择。我不是厨师专家,但它肯定能够使用sudo. Best Answer Mike Fiedler 2016-10-17T03:42:53+08:002016-10-17T03:42:53+08:00 PermitRootLogin是一个 SSH 设置,如果系统上有其他用户可以运行sudo chef-apply以完成更改,则无关紧要。 这样可以避免在每次运行时修改 SSH 设置的状态。 Chef Client 方法假定它可以作为 root 用户,并且不需要sudo在每个命令之前运行(也就是包安装)。 Spooler 2016-10-17T04:08:21+08:002016-10-17T04:08:21+08:00 您可能考虑的另一种选择是使用公钥/私钥对进行 SSH 登录,而不是密码。 一旦建立,您就可以PermitRootLogin without-password在您的 SSH 服务器配置中使用。这样,您的 root 帐户就可以免受密码暴力破解,但您仍然可以将其与 RSA 或 ECDSA 密钥对一起使用。
选项 2 是最佳选择。我不是厨师专家,但它肯定能够使用
sudo
.PermitRootLogin
是一个 SSH 设置,如果系统上有其他用户可以运行sudo chef-apply
以完成更改,则无关紧要。这样可以避免在每次运行时修改 SSH 设置的状态。
Chef Client 方法假定它可以作为 root 用户,并且不需要
sudo
在每个命令之前运行(也就是包安装)。您可能考虑的另一种选择是使用公钥/私钥对进行 SSH 登录,而不是密码。
一旦建立,您就可以
PermitRootLogin without-password
在您的 SSH 服务器配置中使用。这样,您的 root 帐户就可以免受密码暴力破解,但您仍然可以将其与 RSA 或 ECDSA 密钥对一起使用。