以下是有关我的设置的一些详细信息...
当前环境:
- 40+ *nix 系统由 6 名管理员管理
- 高度安全的封闭网络(无法访问互联网)
- 定期审核(所有帐户密码必须每 90 天更改一次)
当前程序:
- 每个管理员都有一个具有 sudo 访问权限的个人帐户。这些管理员帐户通过 Active Directory 进行管理,因此密码更改不是问题
- 根帐户在特定情况下也处于事件状态(即管理员帐户被锁定)
- 当需要更改 root 密码时,管理员将通过 SSH 连接到每个系统 (40+)
我想编写一个脚本来使根密码更改过程更加高效,并且我读到的所有内容都表明最安全的方法是使用公钥身份验证。所以我的问题是:如果我以 root 身份登录 SYSTEM_1 并在该系统与 SYSTEM_2、SYSTEM_3 等之间设置公钥/私钥对,这是否意味着我只能从 SYSTEM_1 运行脚本?这在安全方面是个好主意吗?还有其他方法可以编写我缺少的脚本吗?
您可以使用 RSA 身份验证并期望脚本
假设您正在系统1上执行expect脚本,创建公钥-私钥对并将公钥存储在您必须登录的所有其他系统上(系统2.....n)
现在,当您通过 ssh 进入这些系统时,将不需要密码。
现在您可以使用expect脚本来更改root或任何其他用户的密码。注意:通常期望解释器位于/usr/bin/expect你可以发现我正在做“whereisexpect”
希望对您有所帮助。
尝试使用这个算法并发布你的结果。
我是一名优秀的程序员,十分优秀!