在我的自动root密码更改脚本中实现公钥身份验证的最佳方法是什么?

时间:2014-08-28 13:41:40

标签: linux ssh public-key

以下是有关我的设置的一些细节......

当前环境:

  • 由6名管理员管理的40多个* nix系统
  • 高度安全,封闭的网络(无法访问互联网)
  • 定期审核(所有帐户密码必须每90天更改一次)

现行程序:

  • 每个管理员都有一个具有sudo访问权限的个人帐户。这些管理员帐户通过Active Directory进行管理,因此密码更改不是问题
  • 根帐户在特定情况下也处于活动状态(即管理员帐户被锁定)
  • 当需要更改root密码时,管理员会通过SSH连接到每个系统(40 +)

我想编写一个脚本来使root密码更改过程更加高效,我读过的所有内容都表明最安全的方法是使用公钥认证。所以我的问题是:如果我以root身份登录到SYSTEM_1并在该系统与SYSTEM_2,SYSTEM_3等之间设置公钥/私钥对,这是否意味着我只能从SYSTEM_1运行脚本?这对安全明智是一个好主意吗?有没有其他方法来编写我想要的脚本?

1 个答案:

答案 0 :(得分:0)

您可以使用RSA身份验证并期望脚本

假设您正在系统1上执行expect脚本,创建公钥 - 私钥对并在您必须登录的所有其他系统上存储公钥(系统2 ..... n)

现在,当您加入这些系统时,您将不需要密码。

现在您可以使用expect脚本来更改root用户或任何其他用户的密码。 注意:通常期望解释器位于/ usr / bin / expect 你可以找到我的所作所为" whereis expect"

我希望它有所帮助。

尝试使用此算法并发布结果。